certification java

OCPJP 6 – Les bases du langage Java (partie 1) – Questions/Réponses

Les questions suivantes sont des questions types posées à l’OCPJP. Elle vont vous permettre de valider vos acquis sur les bases du langage Java.

Question 1

Which is true? (Choose all that apply.)

  1. « A extends B » is correct if and only if A is a class and B is an interface
  2. « A extends B » is correct if and only if A is an interface and B is a class
  3. « A extends B » is correct if A and B are either both classes or both interfaces
  4. « A extends B » is correct for all combinations of A and B being classes and/or interfaces

Réponse 1

Réponse : 3.
1. est incorrect car une classe n’étend pas une interface, elle l’implémente.
2. est incorrect car une interface ne peut étendre qu’une autre interface.
4. est incorrect pour les raisons citées plus haut.

Question 2

Which method names follow the JavaBeans standard? (Choose all that apply.)

  1. addWeight
  2. getSize
  3. deleteFile
  4. isRep
  5. putElements

Réponse 2

Réponse : 2. et 4.
1. est incorrect car add ne peut être utilisé que pour un Listener.
3. et 5. sont incorrects car delete et put ne respectent pas les standards JavaBean.

Question 3

Which, inserted independently at line 6, will compile? (Choose all that apply.)

  1. static void doStuff(int... doArgs) { }
  2. static void doStuff(int[] doArgs) { }
  3. static void doStuff(int doArgs...) { }
  4. static void doStuff(int... doArgs, int y) { }
  5. static void doStuff(int x, int... doArgs) { }

Réponse 3

Réponse : 1. et 5.
La syntaxe var-args de 2., 3., et 4. sont incorrects. L’ellipse doit toujours être le dernier argument de la méthode.

Question 4

What is the result?

  1. woof burble
  2. Multiple compilation errors
  3. Compilation fails due to an error on line 2
  4. Compilation fails due to an error on line 3
  5. Compilation fails due to an error on line 4
  6. Compilation fails due to an error on line 9

Réponse 4

Réponse : 1. car les énumérations peuvent avoir des constructeurs et des variables.

Question 5

What is the result?

  1. 5 6 7
  2. 5 followed by an exception
  3. Compilation fails due to an error on line 7
  4. Compilation fails due to an error on line 8
  5. Compilation fails due to an error on line 9
  6. Compilation fails due to an error on line 10

Réponse 5

Réponse : 4. et 5. Les classes A et B sont dans deux packages différents. Le membre a n’a pas de modificateur et a donc la visibilité default. Cette variable n’est donc pas accessible en dehors de son propre package. Le membre b possède le modificateur protected et donc celui-ci n’est accessible que dans les classes faisant partie du même package et uniquement par héritage dans les sous-classes d’un package différent.

Question 6

What is the result? (Choose all that apply.)

  1. Compilation succeeds
  2. Compilation fails with an error on line 1
  3. Compilation fails with an error on line 3
  4. Compilation fails with an error on line 5
  5. Compilation fails with an error on line 7
  6. Compilation fails with an error on line 9

Réponse 6

Réponse : 1. La classe Computer3 ne redéfinit pas la méthode doIt() de l’interface Device mais elle en hérite de sa classe mère Electronic.

Question 7

What is the result? (Choose all that apply.)

  1. Compilation succeeds
  2. Compilation fails with an error on line 3
  3. Compilation fails with an error on line 4
  4. Compilation fails with an error on line 5
  5. Compilation fails with an error on line 6
  6. Compilation fails with an error on line 7

Réponse 7

Réponse : 3., 4. et 6. Une variable ne peut commencer par la caractère « # », la déclaration d’un tableau ne peut contenir une taille et une énumération ne peut être déclarée dans une méthode.

Question 8

Which is a correct class? (Choose all that apply.)

  1. Code 1 :
  2. Code 2 :
  3. Code 3 :
  4. Code 4 :
  5. Code 5 :

Réponse 8

Réponse : 2. et 5. La 1. est incorrecte car une méthode abstraite ne possède pas de corps. La 2. est correcte, une classe abstraite ne doit pas forcément implémenter toutes les méthodes d’une interface. La 3. est incorrecte car une classe n’étend pas une interface mais elle l’implémente. La 4. est incorrecte car la classe car la méthode twiddle() est surchargée et non redéfinie. La 5. est correcte car la classe Frob implémente l’interface Frobnicate et celle-ci redéfinit la méthode twiddle().

Question 9

What is the result?

  1. BD
  2. DB
  3. BDC
  4. DBC
  5. Compilation fails

Réponse 9

Réponse : 5. L’appel implicite de super() ne pourra être satisfait car la classe Top ne possède pas de constructeur sans paramètre. Pour rappel, un constructeur par défaut sans paramètre est généré par le compilateur seulement dans le cas où une classe ne possède pas de constructeur.

Question 10

What is the result?

  1. h hn x
  2. hn x h
  3. b h hn x
  4. b hn x h
  5. bn x h hn x
  6. b bn x h hn x
  7. bn x b h hn x
  8. Compilation fails

Réponse 10

Réponse : 3. Le constructeur avec l’argument de type String de la classe House est tout d’abord invoqué. La première instruction de ce constructeur est un appel à la méthode this() qui invoque le constructeur sans argument de cette même classe. L’appel implicite de super() invoque le constructeur sans argument de la superclasse Building.


Auteur
AuteurEdouard WATTECAMPS

0 réponses

Répondre

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

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