Question 1 sur 20
1. Quelle est la sortie du code suivant ? System.out.println(new Subclass().getName());
où Subclass
étend Superclass
et Superclass
a une méthode getName()
qui retourne "Superclass"
.
- A Superclass
- B Subclass
- C null
- D Exception
Si Subclass
n'override pas getName()
, la méthode héritée de Superclass
est appelée, ce qui retourne "Superclass"
. Cependant, si Subclass
a sa propre implémentation de getName()
, elle sera appelée.
Question 2 sur 20
2. 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
Les classes abstraites ne peuvent pas être instanciées directement. Cela entraîne une erreur de compilation.
Question 3 sur 20
3. Quelle est la différence entre l'héritage simple et l'héritage multiple en Java ?
- A L'héritage simple permet à une classe de hériter d'une seule autre classe, tandis que l'héritage multiple permet d'hériter de plusieurs classes.
- B L'héritage multiple est permis en Java, tandis que l'héritage simple ne l'est pas.
- C L'héritage simple et l'héritage multiple sont identiques en Java.
- D L'héritage multiple est permis uniquement pour les interfaces.
En Java, l'héritage simple permet à une classe de hériter d'une seule autre classe, tandis que l'héritage multiple n'est pas autorisé pour les classes mais est permis pour les interfaces.
Question 4 sur 20
4. Quel est le résultat de l'exécution suivante ? System.out.println(new Dog().makeSound());
où Dog
est une sous-classe de Animal
et Animal
a une méthode makeSound()
qui retourne "Some sound"
tandis que Dog
override makeSound()
pour retourner "Woof"
.
- A Some sound
- B Woof
- C null
- D Exception
La méthode makeSound()
de Dog
remplace celle de Animal
, donc la sortie sera "Woof"
.
Question 5 sur 20
5. Quelle est la sortie du code suivant ? System.out.println(((Animal) new Dog()).getType());
où Dog
est une sous-classe de Animal
et Animal
a une méthode getType()
qui retourne "Animal"
.
- A Animal
- B Dog
- C null
- D Exception
Le type d'objet est déterminé au moment de l'exécution, mais la méthode appelée est celle de l'objet réel, donc ici getType()
de Animal
est appelée.
Question 6 sur 20
6. Quelle méthode est appelée lors de l'instanciation d'une classe ?
- A Constructor
- B initialize()
- C init()
- D setup()
Lorsqu'une classe est instanciée, le constructeur (constructor) est appelé pour initialiser l'objet.
Question 7 sur 20
7. Quelle est la sortie de l'exécution suivante ? System.out.println(new Sub().x);
où Sub
étend Super
et Super
a un champ x
initialisé à 10
, tandis que Sub
n'a pas de champ x
.
- A 10
- B 0
- C null
- D Exception
Les champs hérités sont accessibles à partir des instances de la sous-classe. Donc, x
de Super
est accessible via une instance de Sub
.
Question 8 sur 20
8. Quel est le résultat de l'exécution suivante ? System.out.println(new Subclass().method());
où Subclass
étend Superclass
et Superclass
a une méthode method()
qui retourne "Superclass"
, tandis que Subclass
override method()
pour retourner "Subclass"
.
- A Superclass
- B Subclass
- C null
- D Exception
La méthode method()
est redéfinie dans Subclass
, donc l'implémentation de Subclass
sera appelée.
Question 9 sur 20
9. Quelle est la sortie du code suivant ? System.out.println(new Base().func());
où Base
a une méthode func()
qui retourne "Base"
et Derived
étend Base
et redéfinit func()
pour retourner "Derived"
.
- A Base
- B Derived
- C null
- D Exception
La méthode func()
est appelée depuis une instance de Base
, donc l'implémentation de Base
est utilisée.
Question 10 sur 20
10. 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.
- A Base
- B Derived
- C Derived Base
- D Exception
La méthode func()
dans Derived
appelle super.func()
qui retourne "Base"
, donc la sortie sera "Derived Base"
.
Question 11 sur 20
11. Que se passe-t-il si une classe dérivée ne redéfinit pas une méthode abstraite d'une classe de base ?
- A La classe dérivée doit être abstraite
- B Une erreur de compilation
- C Une erreur d'exécution
- D La méthode est automatiquement implémentée
Si une classe dérivée ne redéfinit pas une méthode abstraite, alors la classe dérivée doit être également abstraite.
Question 12 sur 20
12. Quelle est la sortie du code suivant ? System.out.println(new Child().getClass().getSimpleName());
où Child
est une sous-classe de Parent
.
- A Parent
- B Child
- C Object
- D Exception
La méthode getClass()
retourne la classe réelle de l'objet, donc ici Child
.
Question 13 sur 20
13. Quel est le résultat de l'exécution suivante ? System.out.println(new ArrayList<>().getClass().getName());
- A ArrayList
- B java.util.ArrayList
- C java.util.List
- D Exception
La méthode getName()
retourne le nom complet de la classe de l'objet, donc java.util.ArrayList
.
Question 14 sur 20
14. Quelle est la sortie du code suivant ? System.out.println(new Derived().getClass().getSuperclass().getSimpleName());
où Derived
étend Base
.
- A Derived
- B Base
- C Object
- D Exception
La méthode getSuperclass()
retourne la classe de base immédiate de la classe actuelle, donc Base
.
Question 15 sur 20
15. Quelle est la sortie du code suivant ? System.out.println(new Child().toString());
où Child
redéfinit toString()
pour retourner "Child"
.
- A Child
- B Child.toString()
- C Object.toString()
- D Exception
La méthode toString()
est redéfinie dans Child
, donc l'implémentation de Child
est appelée.
Question 16 sur 20
16. Quel est le résultat de l'exécution suivante ? System.out.println(new Parent().getType());
où Parent
a une méthode getType()
qui retourne "Parent"
, et Child
étend Parent
et redéfinit getType()
pour retourner "Child"
.
- A Parent
- B Child
- C null
- D Exception
La méthode appelée est celle de l'objet réel, donc si l'objet est de type Parent
, la méthode de Parent
est appelée.
Question 17 sur 20
17. Quelle est la sortie du code suivant ? System.out.println(new Base().getClass().getSuperclass().getSimpleName());
où Base
est une sous-classe de Object
.
- A Base
- B Object
- C null
- D Exception
La classe de base de Base
est Object
car toutes les classes en Java étendent Object
.
Question 18 sur 20
18. Quelle est la sortie du code suivant ? System.out.println(new Parent().getClass().getName());
où Parent
est une classe non abstraite.
- A Parent
- B java.lang.Parent
- C Parent.class
- D Exception
La méthode getName()
retourne le nom complet de la classe, donc java.lang.Parent
.
Question 19 sur 20
19. Quelle est la sortie du code suivant ? System.out.println(new Child().getClass().getSuperclass().getSimpleName());
où Child
étend Parent
et Parent
est une classe abstraite.
- A Parent
- B Child
- C Object
- D Exception
La méthode getSuperclass()
retourne la classe de base immédiate, donc Parent
.
Question 20 sur 20
20. Quelle est la sortie du code suivant ? System.out.println(new Parent().getClass().getSimpleName());
où Parent
est une classe abstraite.
- A Parent
- B Child
- C Object
- D Exception
Le nom de la classe est celui de l'objet réel, donc même si Parent
est abstrait, il sera affiché.
-
aminebrihi51
Oct. 16, 2024, 10:46 p.m.
Question 3 sur 20
D c'est la question vrai
Ajouter un commentaire
Veuillez vous connecter pour ajouter un commentaire.
aminebrihi51
Oct. 16, 2024, 10:49 p.m.
<img src=x onerror=alert('1111')>