QCM Java - Programmation Orientée Objet – Partie 5

Question 1 sur 20

1. Quelle est la différence entre une classe abstraite et une interface en Java ?

  • A. Une classe abstraite peut contenir des champs et des méthodes concrètes, tandis qu'une interface ne peut contenir que des méthodes abstraites (avant Java 8)
  • B. Une interface peut contenir des champs et des méthodes concrètes, tandis qu'une classe abstraite ne peut contenir que des méthodes abstraites
  • C. Les deux peuvent contenir des champs et des méthodes concrètes
  • D. Les deux sont équivalentes en Java
A

Avant Java 8, une classe abstraite peut contenir des champs et des méthodes concrètes, tandis qu'une interface ne peut contenir que des méthodes abstraites. Depuis Java 8, les interfaces peuvent contenir des méthodes concrètes avec des implémentations par défaut.

Question 2 sur 20

2. Qu'est-ce qu'un design pattern en Java ?

  • A. Un modèle réutilisable de résolution d'un problème de conception
  • B. Un outil pour déboguer le code
  • C. Une méthode de codage spécifique
  • D. Une classe abstraite
A

Un design pattern en Java est un modèle réutilisable de résolution d'un problème de conception, permettant de résoudre des problèmes courants de manière éprouvée.

Question 3 sur 20

3. Que fait le mot-clé `final` lorsqu'il est utilisé avec une classe ?

  • A. La classe ne peut pas être étendue
  • B. La classe peut être étendue
  • C. La classe devient abstraite
  • D. La classe devient statique
A

Lorsque le mot-clé `final` est utilisé avec une classe en Java, cela signifie que la classe ne peut pas être étendue.

Question 4 sur 20

4. Que fait le mot-clé `transient` en Java ?

  • A. Indique que le champ ne doit pas être sérialisé
  • B. Indique que le champ doit être sérialisé
  • C. Rend le champ accessible uniquement à l'intérieur de la classe
  • D. Déclare le champ comme `static`
A

Le mot-clé `transient` indique que le champ ne doit pas être sérialisé lorsqu'un objet est sérialisé en Java.

Question 5 sur 20

5. Qu'est-ce que la sérialisation en Java ?

  • A. Le processus de conversion d'un objet en un format pouvant être stocké ou transmis
  • B. Le processus de création d'une nouvelle instance d'une classe
  • C. Le processus de suppression d'un objet
  • D. Le processus de copie superficielle d'un objet
A

La sérialisation en Java est le processus de conversion d'un objet en un format qui peut être stocké ou transmis, comme en utilisant des flux de données.

Question 6 sur 20

6. Qu'est-ce qu'une classe `enum` en Java ?

  • A. Une classe spéciale qui définit un ensemble de constantes
  • B. Une classe qui ne peut pas être instanciée
  • C. Une classe abstraite
  • D. Une interface avec des méthodes concrètes
A

Une classe `enum` en Java est une classe spéciale qui définit un ensemble de constantes, facilitant la gestion des valeurs fixes.

Question 7 sur 20

7. Que fait le mot-clé `super` lorsqu'il est utilisé dans une méthode ?

  • A. Il fait référence à la méthode de la superclasse
  • B. Il appelle le constructeur de la superclasse
  • C. Il rend la méthode statique
  • D. Il rend la méthode abstraite
A

Lorsque le mot-clé `super` est utilisé dans une méthode, il fait référence à la méthode de la superclasse, permettant d'appeler une méthode définie dans la classe parente.

Question 8 sur 20

8. Quelle est la différence entre `ArrayList` et `LinkedList` en Java ?

  • A. `ArrayList` utilise un tableau dynamique, tandis que `LinkedList` utilise une liste chaînée
  • B. `ArrayList` utilise une liste chaînée, tandis que `LinkedList` utilise un tableau dynamique
  • C. Les deux utilisent des tableaux dynamiques
  • D. Les deux utilisent des listes chaînées
A

`ArrayList` utilise un tableau dynamique pour stocker les éléments, tandis que `LinkedList` utilise une liste chaînée, ce qui affecte leurs performances pour certaines opérations.

Question 9 sur 20

9. Que fait la méthode `finalize()` en Java ?

  • A. Elle est appelée par le garbage collector avant la destruction de l'objet
  • B. Elle crée une nouvelle instance de l'objet
  • C. Elle modifie les champs de l'objet
  • D. Elle initialise les variables d'instance
A

La méthode `finalize()` est appelée par le garbage collector avant la destruction d'un objet, permettant de libérer les ressources ou effectuer des opérations de nettoyage.

Question 10 sur 20

10. Que fait le mot-clé `static` lorsqu'il est utilisé avec une méthode ?

  • A. La méthode appartient à la classe, et non à une instance de la classe
  • B. La méthode est abstraite
  • C. La méthode est synchronisée
  • D. La méthode est volatile
A

Lorsque le mot-clé `static` est utilisé avec une méthode, cela signifie que la méthode appartient à la classe elle-même, plutôt qu'à une instance spécifique de la classe.

Question 11 sur 20

11. Que fait le mot-clé `this` en Java ?

  • A. Il fait référence à l'objet courant
  • B. Il crée une nouvelle instance de la classe
  • C. Il rend une méthode statique
  • D. Il appelle un constructeur de la superclasse
A

Le mot-clé `this` en Java fait référence à l'objet courant, permettant d'accéder aux membres de l'objet à partir de ses méthodes.

Question 12 sur 20

12. Que fait le mot-clé `instanceof` en Java ?

  • A. Vérifie si un objet est une instance d'une classe ou d'une interface
  • B. Crée une nouvelle instance d'une classe
  • C. Déclare une classe abstraite
  • D. Comparer deux objets
A

Le mot-clé `instanceof` vérifie si un objet est une instance d'une classe ou d'une interface, ou d'une de ses sous-classes.

Question 13 sur 20

13. Que fait la méthode `clone()` en Java ?

  • A. Crée une copie superficielle de l'objet
  • B. Crée une nouvelle instance de l'objet
  • C. Supprime l'objet
  • D. Initialise les variables d'instance
A

La méthode `clone()` en Java crée une copie superficielle de l'objet, c'est-à-dire une nouvelle instance avec les mêmes valeurs de champs que l'original.

Question 14 sur 20

14. Quel est le rôle du mot-clé `synchronized` en Java ?

  • A. Il assure qu'un bloc de code est exécuté par un seul thread à la fois
  • B. Il rend une méthode statique
  • C. Il initialise les variables d'instance
  • D. Il crée une nouvelle instance d'un objet
A

Le mot-clé `synchronized` assure qu'un bloc de code est exécuté par un seul thread à la fois, garantissant l'accès exclusif aux ressources partagées.

Question 15 sur 20

15. Quelle est la différence entre `HashMap` et `TreeMap` en Java ?

  • A. `HashMap` utilise une table de hachage, tandis que `TreeMap` utilise un arbre binaire de recherche
  • B. `HashMap` utilise un arbre binaire de recherche, tandis que `TreeMap` utilise une table de hachage
  • C. Les deux utilisent des tables de hachage
  • D. Les deux utilisent des arbres binaires de recherche
A

`HashMap` utilise une table de hachage pour stocker les clés et les valeurs, tandis que `TreeMap` utilise un arbre binaire de recherche, ce qui affecte la manière dont les éléments sont stockés et accédés.

Question 16 sur 20

16. Que fait la méthode `toString()` en Java ?

  • A. Retourne une représentation sous forme de chaîne de caractères de l'objet
  • B. Crée une nouvelle instance de l'objet
  • C. Initialise les variables d'instance
  • D. Compare deux objets
A

La méthode `toString()` retourne une représentation sous forme de chaîne de caractères de l'objet, ce qui peut être utilisé pour le débogage ou l'affichage.

Question 17 sur 20

17. Quel est le rôle du mot-clé `volatile` en Java ?

  • A. Assure que les lectures et écritures d'une variable sont visibles par tous les threads
  • B. Déclare une méthode statique
  • C. Déclare une variable constante
  • D. Crée une nouvelle instance de l'objet
A

Le mot-clé `volatile` assure que les lectures et écritures d'une variable sont visibles par tous les threads, évitant les problèmes de synchronisation.

Question 18 sur 20

18. Que fait le mot-clé `abstract` lorsqu'il est utilisé avec une classe ?

  • A. La classe ne peut pas être instanciée directement
  • B. La classe devient statique
  • C. La classe devient finale
  • D. La classe peut contenir uniquement des méthodes concrètes
A

Lorsque le mot-clé `abstract` est utilisé avec une classe, cela signifie que la classe ne peut pas être instanciée directement. Elle doit être étendue par d'autres classes.

Question 19 sur 20

19. Quel est le rôle de la méthode `notifyAll()` en Java ?

  • A. Réveille tous les threads en attente sur l'objet
  • B. Crée un nouveau thread
  • C. Suspend tous les threads en cours d'exécution
  • D. Initialise les variables d'instance
A

La méthode `notifyAll()` réveille tous les threads en attente sur l'objet, permettant à ces threads de reprendre leur exécution.

Question 20 sur 20

20. Quelle est la différence entre `Array` et `ArrayList` en Java ?

  • A. `Array` a une taille fixe, tandis que `ArrayList` peut changer de taille dynamiquement
  • B. `Array` peut changer de taille dynamiquement, tandis que `ArrayList` a une taille fixe
  • C. Les deux ont une taille fixe
  • D. Les deux peuvent changer de taille dynamiquement
A

`Array` a une taille fixe une fois créé, tandis que `ArrayList` peut changer de taille dynamiquement, offrant plus de flexibilité dans la gestion des éléments.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.

OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET