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.

 

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éfinitionDifférence entre Surcharge et Redéfinition en JavaQuelle est la différence entre Surcharge et Redéfinition ? – la surcharge de fonctions est utilisée dans une seule classe où vous avez le même…Lire plus
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.

 

QCM-JavaQCM Java – JDK JRE JVM et JITQCM sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus
7. Peut-on redéfinir une méthode privée en Java?
Non nous ne pouvons pas. Puisque la méthode privée est seulement accessible et visible à l’intérieur de la classe où ils sont déclarés, il n’est pas possible de les redéfinir dans les sous-classes. Cependant, nous pouvons les remplacer à l’intérieur de la classe interne car ils sont accessibles là-dessus.

 

8. Peut-on redéfinir une méthode privée en Java?
Nous pouvons appeler une méthode de la classe mère dans la sous-classe en utilisant le mot-clé super. Par exemple, pour appeler la méthode toString() de la classe java.lang.Object, nous pouvons appeler super.toString().

 

9. A quoi sert la méthode par défaut de Java 8?

La méthode par défaut, également appelée méthode d’extension, est un nouveau type de méthode que nous pouvons ajouter à l’interface maintenant. Ces méthodes ont une implémentation et sont destinées à être utilisées par défaut. JDK 8 a réussi à fournir des fonctionnalités communes liées à l’expression lambda et à l’API stream sans casser tous les clients qui implémentent leurs interfaces. Si nous regardons la documentation de l’API de Java 8, nous trouverons plusieurs méthodes par défaut utiles dans l’interface key de Java comme Iterator, Map etc. Exemple d’une méthode déclarée default :

public interface ExempleMonInterface {
    public default void foo() {
        System.out.println("foo() est une méthode déclarée default");
    }
}

 

QCM-JavaQCM java J2EE corrigéQCM sur java J2EE avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et…Lire plus
10. Pouvons-nous créer une classe abstraite sans méthode abstraite?
Oui, nous ajoutons simplement le mot-clé « abstract » dans la définition du classe et notre classe deviendra abstraite.

 

 
 

Laisser un commentaire

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