Questions piège sur la Programmation Orientée Objet – JAVA – Partie 2

Les questions pouvant être posées par des recruteurs sont nombreuses. Ce sont quelques-unes des questions les plus fréquemment posées. Prenez le temps de lire ces questions et réfléchir soigneusement à la façon dont vous répondriez à chacune d’elles lorsqu’on vous le demandera.
 
 

1. Java est un langage purement orienté objet? sinon pourquoi?
Java n’est pas un langage de programmation orienté objet pur, par exemple il y a beaucoup de choses que nous pouvons faire sans objets, par exemple création de méthodes statiques. De plus, les variables primitives ne sont pas des objets en Java.

 

2. Quelles sont les règles de surcharge et de redéfinition de méthode en Java?
L’une des règles les plus importantes pour la surcharge de méthode en Java est que la signature de la méthode doit être différente, c’est-à-dire le nombre d’arguments ou le type d’arguments. Changer simplement le type de retour de deux méthodes n’entraînera pas de surcharge, à la place, le compilateur lancera une erreur. En revanche, la redéfinition de méthode a plus de règles, par ex. le nom et le type de retour doivent être identiques, la signature de méthode doit également être la même, la méthode redéfinie ne peut pas déclencher une exception plus élevée etc.

Voir: Redéfinition de méthode en Java

Voir: Surcharge de méthode en Java

 

3. La différence entre surcharge et redéfinition d’une méthode?
Plusieurs différences, mais la plus importante est que la surcharge de méthode est résolue au moment de la compilation et que la redéfinition de méthode est résolue au moment de l’exécution. Le compilateur a uniquement utilisé les informations de classe pour la surcharge de méthode, mais il doit connaître l’objet pour les appels de méthode.
Différence entre Surcharge et Redéfinition
4. Peut-on surcharger une méthode statique en Java?
Oui, nous pouvons surcharger une méthode statique en Java. Nous pouvons déclarer autant de méthodes statiques du même nom que nous le souhaitons, à condition que toutes aient des signatures différentes.

 

5. Peut-on redéfinir une méthode statique en Java?
Non, nous ne pouvons pas redéfinir une méthode statique, car elle n’est pas liée à un objet. Au lieu de cela, les méthodes statiques appartiennent à une classe et sont résolues au moment de la compilation en utilisant le type de variable de référence. Mais, oui, nous pouvons déclarer la même méthode statique dans une sous-classe, ce qui entraînera la dissimulation de méthode, i.e si nous utilisons une variable de référence de type sous-classe, alors une nouvelle méthode sera appelée.

 

 
 

6. Peut-on empêcher la redéfinition d’une méthode sans utiliser le modificateur « final »?
Oui, nous pouvons empêcher la redéfinition d’une méthode en Java sans utiliser le modificateur final. En fait, il existe plusieurs façons de l’accomplir, par ex. nous pouvons marquer la méthode privée ou statique, celles-ci ne peuvent pas être redéfinie.

Voir aussi: le mot-clé static, private, et final

 

QCM-Java

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *