QCM Java - Programmation Orientée Objet – Partie 2

Question 1 sur 20

1. Quelle est la sortie du code suivant ? System.out.println(new MyClass().getClass().getName());MyClass est une classe concrète.

  • A MyClass
  • B java.MyClass
  • C java.lang.MyClass
  • D Exception
C

La méthode getName() retourne le nom complet de la classe de l'objet, donc java.lang.MyClass.

Question 2 sur 20

2. Quelle est la sortie du code suivant ? System.out.println(((Base)new Derived()).getClass().getName());Derived étend Base.

  • A Base
  • B Derived
  • C java.Base
  • D java.Derived
B

Le nom de la classe réelle de l'objet est retourné, donc ici Derived.

Question 3 sur 20

3. Quel est le résultat de l'exécution suivante ? System.out.println(new Child().getParent().getClass().getSimpleName());Child étend Parent et Parent a une méthode getParent() qui retourne une instance de Parent.

  • A Parent
  • B Child
  • C Object
  • D Exception
A

La méthode getParent() retourne une instance de Parent, donc le nom de la classe retourné est Parent.

Question 4 sur 20

4. Quelle est la sortie du code suivant ? System.out.println(new Base().toString());Base a une méthode toString() redéfinie pour retourner "Base".

  • A Base
  • B Base.toString()
  • C java.lang.Object.toString()
  • D Exception
A

La méthode toString() est redéfinie dans Base, donc la sortie est "Base".

Question 5 sur 20

5. Quel est le résultat de l'exécution suivante ? System.out.println(new Child().getClass().getSuperclass().getSimpleName());Child étend Parent.

  • A Parent
  • B Child
  • C Object
  • D Exception
A

La méthode getSuperclass() retourne la classe de base immédiate, donc Parent.

Question 6 sur 20

6. Quelle est la sortie du code suivant ? System.out.println(new Parent().getClass().getName());Parent est une classe abstraite.

  • A Parent
  • B Child
  • C Object
  • D Exception
A

Le nom de la classe est celui de l'objet réel, donc même si Parent est abstrait, il sera affiché.

Question 7 sur 20

7. Quelle est la sortie du code suivant ? System.out.println(new Derived().func());Derived étend Base et redéfinit func() pour retourner "Derived" tout en appelant la méthode de base super.func() dans l'implémentation.

  • A Derived Base
  • B Base Derived
  • C Derived
  • D Exception
A

La méthode func() dans Derived appelle super.func() qui retourne "Base", donc la sortie sera "Derived Base".

Question 8 sur 20

8. Quelle est la sortie du code suivant ? System.out.println(new Child().getClass().getSuperclass().getName());Child étend Parent et Parent est une classe non abstraite.

  • A Parent
  • B Child
  • C Object
  • D Exception
A

La méthode getSuperclass() retourne la classe de base immédiate de Child, donc Parent.

Question 9 sur 20

9. Quelle est la sortie du code suivant ? System.out.println(new Child().getClass().getSuperclass().getSimpleName());Child étend Parent et Parent a une méthode getName() redéfinie pour retourner "Parent".

  • A Parent
  • B Child
  • C Object
  • D Exception
A

La méthode getSimpleName() retourne le nom de la classe de base de l'objet réel.

Question 10 sur 20

10. Quelle est la sortie du code suivant ? System.out.println(new Parent().getClass().getSimpleName());Parent est une classe abstraite.

  • A Parent
  • B Child
  • C Object
  • D Exception
A

La méthode getSimpleName() retourne le nom de la classe de l'objet réel.

Question 11 sur 20

11. Que se passe-t-il lorsque vous essayez de créer une instance d'une classe abstraite ?

  • A Une instance est créée
  • B Une erreur de compilation
  • C Une erreur d'exécution
  • D La classe est automatiquement rendue concrète
B

Les classes abstraites ne peuvent pas être instanciées directement, ce qui entraîne une erreur de compilation.

Question 12 sur 20

12. Quelle est la sortie du code suivant ? System.out.println(new MyClass().getClass().getSuperclass().getSimpleName());MyClass étend BaseClass.

  • A BaseClass
  • B MyClass
  • C Object
  • D Exception
A

La méthode getSuperclass() retourne la classe de base immédiate de MyClass, donc BaseClass.

Question 13 sur 20

13. Quelle est la sortie du code suivant ? System.out.println(new Derived().toString());Derived étend Base et Base a une méthode toString() qui retourne "Base", tandis que Derived redéfinit toString() pour retourner "Derived".

  • A Derived
  • B Base
  • C Object
  • D Exception
A

La méthode toString() redéfinie dans Derived est appelée, donc la sortie est "Derived".

Question 14 sur 20

14. Quel est le résultat de l'exécution suivante ? System.out.println(new MyClass().getClass().getName());MyClass est une classe concrète.

  • A MyClass
  • B java.MyClass
  • C java.lang.MyClass
  • D Exception
C

La méthode getName() retourne le nom complet de la classe de l'objet, donc java.lang.MyClass.

Question 15 sur 20

15. Quelle est la sortie du code suivant ? System.out.println(((MyClass)new Base()).getClass().getSimpleName());MyClass étend Base.

  • A Base
  • B MyClass
  • C Object
  • D Exception
B

La méthode getSimpleName() retourne le nom de la classe de l'objet réel, donc ici MyClass.

Question 16 sur 20

16. Quelle est la sortie du code suivant ? System.out.println(new Derived().getClass().getSuperclass().getName());Derived étend Base.

  • A Base
  • B Derived
  • C java.Base
  • D Exception
C

La méthode getName() retourne le nom complet de la classe de la superclasse de Derived, donc java.Base.

Question 17 sur 20

17. Quelle est la sortie du code suivant ? System.out.println(new Derived().getClass().getSimpleName());Derived étend Base.

  • A Base
  • B Derived
  • C Object
  • D Exception
B

La méthode getSimpleName() retourne le nom de la classe réelle de l'objet, donc Derived.

Question 18 sur 20

18. Quelle est la sortie du code suivant ? System.out.println(new MyClass().getClass().getSuperclass().getSimpleName());MyClass étend BaseClass.

  • A BaseClass
  • B MyClass
  • C Object
  • D Exception
A

La méthode getSuperclass() retourne la classe de base immédiate de MyClass, donc BaseClass.

Question 19 sur 20

19. Quelle est la sortie du code suivant ? System.out.println(new Derived().toString());Derived étend Base et Base a une méthode toString() redéfinie pour retourner "Base", et Derived redéfinit également toString() pour retourner "Derived".

  • A Derived
  • B Base
  • C Object
  • D Exception
A

La méthode toString() redéfinie dans Derived est appelée, donc la sortie est "Derived".

Question 20 sur 20

20. Quelle est la sortie du code suivant ? System.out.println(new Base().getClass().getSimpleName());Base est une classe abstraite.

  • A Base
  • B Derived
  • C Object
  • D Exception
A

La méthode getSimpleName() retourne le nom de la classe de l'objet réel, donc même si Base est abstrait, il sera affiché.

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