1. Quelle est la sortie du code suivant ? System.out.println(new MyClass().getClass().getName());
où MyClass
est une classe concrète.
La méthode getName()
retourne le nom complet de la classe de l'objet, donc java.lang.MyClass
.
2. Quelle est la sortie du code suivant ? System.out.println(((Base)new Derived()).getClass().getName());
où Derived
étend Base
.
Le nom de la classe réelle de l'objet est retourné, donc ici Derived
.
3. Quel est le résultat de l'exécution suivante ? System.out.println(new Child().getParent().getClass().getSimpleName());
où Child
étend Parent
et Parent
a une méthode getParent()
qui retourne une instance de Parent
.
La méthode getParent()
retourne une instance de Parent
, donc le nom de la classe retourné est Parent
.
4. Quelle est la sortie du code suivant ? System.out.println(new Base().toString());
où Base
a une méthode toString()
redéfinie pour retourner "Base"
.
La méthode toString()
est redéfinie dans Base
, donc la sortie est "Base"
.
5. Quel est le résultat de l'exécution suivante ? System.out.println(new Child().getClass().getSuperclass().getSimpleName());
où Child
étend Parent
.
La méthode getSuperclass()
retourne la classe de base immédiate, donc Parent
.
6. Quelle est la sortie du code suivant ? System.out.println(new Parent().getClass().getName());
où Parent
est une classe abstraite.
Le nom de la classe est celui de l'objet réel, donc même si Parent
est abstrait, il sera affiché.
7. Quelle est la sortie du code suivant ? System.out.println(new Derived().func());
où Derived
étend Base
et redéfinit func()
pour retourner "Derived"
tout en appelant la méthode de base super.func()
dans l'implémentation.
La méthode func()
dans Derived
appelle super.func()
qui retourne "Base"
, donc la sortie sera "Derived Base"
.
8. Quelle est la sortie du code suivant ? System.out.println(new Child().getClass().getSuperclass().getName());
où Child
étend Parent
et Parent
est une classe non abstraite.
La méthode getSuperclass()
retourne la classe de base immédiate de Child
, donc Parent
.
9. Quelle est la sortie du code suivant ? System.out.println(new Child().getClass().getSuperclass().getSimpleName());
où Child
étend Parent
et Parent
a une méthode getName()
redéfinie pour retourner "Parent"
.
La méthode getSimpleName()
retourne le nom de la classe de base de l'objet réel.
10. Quelle est la sortie du code suivant ? System.out.println(new Parent().getClass().getSimpleName());
où Parent
est une classe abstraite.
La méthode getSimpleName()
retourne le nom de la classe de l'objet réel.
11. Que se passe-t-il lorsque vous essayez de créer une instance d'une classe abstraite ?
Les classes abstraites ne peuvent pas être instanciées directement, ce qui entraîne une erreur de compilation.
12. Quelle est la sortie du code suivant ? System.out.println(new MyClass().getClass().getSuperclass().getSimpleName());
où MyClass
étend BaseClass
.
La méthode getSuperclass()
retourne la classe de base immédiate de MyClass
, donc BaseClass
.
13. Quelle est la sortie du code suivant ? System.out.println(new Derived().toString());
où Derived
étend Base
et Base
a une méthode toString()
qui retourne "Base"
, tandis que Derived
redéfinit toString()
pour retourner "Derived"
.
La méthode toString()
redéfinie dans Derived
est appelée, donc la sortie est "Derived"
.
14. Quel est le résultat de l'exécution suivante ? System.out.println(new MyClass().getClass().getName());
où MyClass
est une classe concrète.
La méthode getName()
retourne le nom complet de la classe de l'objet, donc java.lang.MyClass
.
15. Quelle est la sortie du code suivant ? System.out.println(((MyClass)new Base()).getClass().getSimpleName());
où MyClass
étend Base
.
La méthode getSimpleName()
retourne le nom de la classe de l'objet réel, donc ici MyClass
.
16. Quelle est la sortie du code suivant ? System.out.println(new Derived().getClass().getSuperclass().getName());
où Derived
étend Base
.
La méthode getName()
retourne le nom complet de la classe de la superclasse de Derived
, donc java.Base
.
17. Quelle est la sortie du code suivant ? System.out.println(new Derived().getClass().getSimpleName());
où Derived
étend Base
.
La méthode getSimpleName()
retourne le nom de la classe réelle de l'objet, donc Derived
.
18. Quelle est la sortie du code suivant ? System.out.println(new MyClass().getClass().getSuperclass().getSimpleName());
où MyClass
étend BaseClass
.
La méthode getSuperclass()
retourne la classe de base immédiate de MyClass
, donc BaseClass
.
19. Quelle est la sortie du code suivant ? System.out.println(new Derived().toString());
où Derived
étend Base
et Base
a une méthode toString()
redéfinie pour retourner "Base"
, et Derived
redéfinit également toString()
pour retourner "Derived"
.
La méthode toString()
redéfinie dans Derived
est appelée, donc la sortie est "Derived"
.
20. Quelle est la sortie du code suivant ? System.out.println(new Base().getClass().getSimpleName());
où Base
est une classe abstraite.
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.