La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

OCA Java 7 Quiz A.

Présentations similaires


Présentation au sujet: "OCA Java 7 Quiz A."— Transcription de la présentation:

1 OCA Java 7 Quiz A

2 A, C, et D sont corrects. B est incorrect. L'héritage est indépendante de l'existence de variables d'instance. E est incorrect. Le couplage n’est pas utilisé pour évaluer les catégories dans le même arbre d'héritage

3 C est correcte. Par contrat, si deux objets sont équivalents selon les méthode equals (), alors leur méthode hashCode () doit les évaluer d'être ==. A est incorrecte parce que si le hashCode (valeurs) ne sont pas égaux, les deux objets ne doivent pas être égaux. B est incorrect parce que si equals () n’est pas vrai, il n'y a aucune garantie de résultat de hashCode (). D est incorrect parce hashCode () reviendra souvent == même si les deux objets ne évaluent pas equals () étant vrai.

4 B est correct. classes abstraites ne pas avoir toutes les méthodes abstraites.
A est incorrecte parce que les méthodes abstraites doivent être marqués comme tels. C est incorrect parce que vous ne pouvez pas avoir une méthode abstraite, sauf si la classe est abstraite. D est incorrect parce que le résumé mot clé doit venir avant le nom de la classe.

5 B et D sont corrects. B est un override simples (protégé est moins restrictive que par défaut). D est un remplacement simple la méthode dérogatoire peut être définitive. A est une substitution illégale parce que le modificateur privé est plus restrictive que doStuff () s 'modificateur par défaut dans la classe Alpha. C et E sont des remplacements illégales parce que vous ne pouvez pas changer le type de retour d'une méthode substituée, ou C et E êtes surcharges illégales parce que vous devez changer les arguments d'une méthode surchargée.

6 A, B, E, et F sont corrects. Cette question porte sur la question de "Qu'est-ce que je peux assigner à une variable de référence de tableau?" La clé est d'obtenir les dimensions droite. Par exemple, si un tableau est déclaré comme un tableau à deux dimensions, vous ne pouvez pas affecter un tableau à une dimension à une référence de tableau à une dimension. C est erroné parce qu'il essaie d'attribuer un tableau à deux dimensions où il est prévu un tableau à une dimension. D est erroné parce qu'il tente d'attribuer une courte primitive où un court tableau (une dimension) est attendue.

7 E est correcte. L'appel du constructeur de Uber à cette recherche un constructeur sans argument qui ne existe pas. A, B, C, D, et F sont incorrects sur la base de l'instruction précédente.

8 C est correcte. Seules les méthodes d'instance peuvent être remplacées, et demande au super applique uniquement aux méthodes redéfinies. A, B, D, E et F sont incorrectes sur la base de la déclaration précédente.

9 E est correcte. La méthode main () attrape correctement et gère le RuntimeException dans le bloc catch, va finalement (comme il le fait toujours), puis le code revient à la normale. A, B, C, D, et F sont incorrects sur la base de la logique du programme décrit précédemment. Rappelez-vous que les exceptions correctement manipulés ne provoquent pas l'arrêt du programme d'exécution.

10 D est correcte. La méthode add () ne concerne pas les Maps
D est correcte. La méthode add () ne concerne pas les Maps. Pour insérer des entrées dans Maps, vous devez utiliser la méthode put (). A, B, C, et E sont incorrectes sur la base de la déclaration précédente.

11 D est correcte. Une fois que le programme lance une RuntimeException (dans la méthode throwit ()) qui ne sont pas pris, le bloc finally sera exécuté et le programme sera terminé. Si une méthode ne gère pas une exception, le bloc finally est exécuté avant que l'exception est propagée. A, B, et C sont incorrects sur la base de la logique du programme vient d'être décrit.

12 A est correcte. Variables ne sont pas remplacées, au contraire, ils sont masqués. Alors que cela est considéré comme une mauvaise pratique, il est légal. Références polymorphes accéder à la variable liée au type de la variable de référence. B, C, D, et E sont incorrects sur la base de l'explication précédente.

13 C est correcte. La première invocation des go () méthode teste si la boxe bat Var-args, ce qu'il fait. A, B, D, et E sont incorrects sur la base de l'explication précédente.

14 D est correcte. Lorsque z == 0, x-cas 2 est adaptée
D est correcte. Lorsque z == 0, x-cas 2 est adaptée. Lorsque z == 1, le cas x-1 est adapté, puis la rupture se produit. Lorsque z == 2, cas x, x-1 est adaptée. Lorsque z == 3, par défaut, puis x-2 est adaptée. Les règles de défaut sont qu'il va tomber par en haut, comme tous les autres cas (par exemple, lorsque z == 2), et qu'il corresponde quand aucun cas autre match (par exemple, lorsque z == 3). A, B, C, E et F sont incorrectes sur la base de la logique du programme décrit dans la déclaration précédente.

15 C est correcte. TestXcom n'a pas besoin de savoir quelque chose à propos de la classe A.
A est une syntaxe incorrecte. Un caractère générique ou d'une classe doivent être spécifiés. B ne fera pas mal du tout, mais C est nécessaire. D est également erronée parce TestXcom est dans le mauvais répertoire pour être dans le paquet xcom. E est incorrect donné l'explication de la réponse correcte.

16 C is correct. The Comparable interface requires a compareTo() method, the Comparator interface requires compare(). Since we want to sort alphabetically using Strings to sort, you want to invoke compareTo() using this object, not the object passed in to compareTo(). A, B, and D are incorrect based on the previous explanation.

17 C is correct. The key points are that ^ (XOR) is true only if exactly one of the expressions is true, and that ! in front of an expression reserves its value. A, B, D, E, and F are incorrect based on the previous explanation.

18 A est correcte. Les sous-classes courent toujours les constructeurs de leurs parents avant qu'ils gèrent leurs propres constructeurs, mais les constructeurs parentales doivent exécuter. Constructeurs parentales protégées sont accessibles aux classes enfants. Le modificateur privé dans la classe d'Œdipe n'a pas d'importance. B, C, D, et E sont incorrectes sur la base de la déclaration précédente.

19 D est correcte. Les clauses Finally sont toujours exécutées
D est correcte. Les clauses Finally sont toujours exécutées. Le programme va d'abord exécuter le bloc try, l'impression Bonjour tout le monde, et puis exécutez le bloc finally, l'impression d'exécuter Enfin. A, B, C, et E sont incorrects sur la base de la logique du programme décrit précédemment. Rappelez-vous que ce soit une prise ou une déclaration doivent suivre enfin un essai. Depuis l'est enfin présente, la capture est pas nécessaire.

20 D est correcte. Tout d'abord, les appels implicites à super-sont faites. Ensuite, pour chaque constructeur le bloc init exécute, après quoi le reste des déclarations du constructeur exécuté. A, B, C, E, F, et G sont incorrectes sur la base de la déclaration précédente.

21 C est correcte. A est faux parce que la cohésion se réfère à la façon dont l'objet d'une classe se concentre. B est faux parce que le couplage lâche décrit une situation dans laquelle les classes ne connaissent que sur les API de l'autre, et rien d'autre. D est également faux, parce que cela est la description pour l'encapsulation. E est une absurdité.

22 E est correcte. Expressions de cas doivent être des expressions constantes. Depuis y est marqué finale, les lignes 8 et 7 sont légales; Toutefois, x est pas une finale, donc le compilateur va échouer à la ligne 9. A, B, C, D, et F sont incorrects sur la base de la logique du programme décrit dans la déclaration précédente.

23 E est correcte. Ligne 16 ne compilera pas car y est hors de portée.
A, B, C, D et F sont incorrectes sur la base de la logique du programme décrit dans la déclaration précédente.

24 E est correcte. Dans la ligne 7, le code appelle une méthode StringBuffer, insert () sur un objet String. A, B, C, D, et F sont incorrects sur la base de la logique décrite dans la déclaration précédente.

25 B est correct. main () peut utiliser var-args, et un argument var-args est un tableau.
A, C, D, et E sont incorrects sur la base de l'instruction précédente.

26 D est correcte. Savez-vous pourquoi la compilation échoue
D est correcte. Savez-vous pourquoi la compilation échoue? Astuce: Il est pas parce que des modificateurs finales. Il est parce que la deuxième invocation de go () est fabriqué à partir d'une méthode statique. A, B, C, et E sont incorrects sur la base de l'explication précédente.

27 E et F sont corrects. Woop hérite d'une Hmpf de Zing.
A, B, C, et D sont incorrects sur la base de l'instruction précédente.

28 A et E sont des déclarations d'interface valides.
B et C sont incorrectes parce que les variables d'interface ne peuvent pas être protégés soit ou privé. D et F sont incorrectes parce que les méthodes d'interface ne peuvent pas être définitive ou statique.

29 A, C et G sont des identifiants juridiques.
B est incorrecte car un identifiant ne peut pas commencer par un chiffre. D, E et F sont incorrectes parce identifiants doivent commencer par $, _, ou une lettre.

30 F est correcte. La seule chose qui cloche avec ce code est que l'importation statique n'a pas précisé le député à être importé. Cette question est d'utiliser des identifiants valides (mais bizarres), Var-args dans la logique principale, et de pré-incrémentation. A, B, C, D, E et G sont incorrects sur la base de l'explication précédente.

31 C est la seule qui est généralement lancée par un développeur, et il est généralement émise lorsqu'une méthode qui est destiné à convertir une chaîne à un certain nombre reçoit une chaîne mal formé. A, B, D, et E sont incorrectes sur la base de la déclaration précédente. Ils ont tous tendance à être jeté par la JVM quand un bug quelconque est rencontrée.

32 B est correct. Aucune exception seront jetés, et la méthode getWeight () seront appelés à deux reprises dans la boucle. A, C, D, E, F, G, et H sont incorrects sur la base de l'instruction précédente.

33 C est correcte. Appeler une méthode redéfinie invoque toujours la définition de la méthode qui est "le plus proche" à l'instance de la classe elle-même. Ici, la classe Z a sa propre définition de markTheSpot (), et donc qui est la méthode qui est invoquée. A, B, D, E, F et G sont incorrects sur la base de l'explication précédente.

34 D est correcte. BlackWidow implémente correctement Arachnid.
A et B sont incorrectes parce que les méthodes déclarées dans les interfaces sont publiques si elles le disent ou non. La mise en œuvre / Redéfinition des méthodes ne peuvent pas être moins accessible que les méthodes «parentales». C est incorrect parce que les classes implémentent des interfaces, ils ne les dépassent pas.

35 F est correcte. Les trois objets perdus forment une île d'objets qui font référence à l'autre. Avant la ligne 11 pistes, e est la dernière référence restant à un membre de l'île. Tant que existe une référence, toute l'île est à l'abri de la GC, mais dès que la dernière référence (dans ce cas, e1) est perdu, toute l'île devient admissible. Alors, quand la ligne 11 exécute, le nombre admissible GC saute de zéro à trois. A, B, C, D, E et G sont incorrectes sur la base de la déclaration précédente.

36 E est correcte. Les éléments de classe déclarée dans les lignes 5, 8 et 12 sont mal nommés méthodes, et non pas des constructeurs. Le constructeur par défaut fonctionne avec aucune sortie, et ces méthodes ne sont jamais appelé. A, B, C, D et F sont incorrectes en raison de la logique décrite dans la déclaration précédente.

37 A et C sont correctes, bien que A est très, très peu conventionnel et vous ne voulez pas vraiment de nommer vos paquets de cette façon ... d'autres programmeurs vont vous faire mal. B est incorrect parce que les caractères génériques sont utilisés dans les importations, et non pas dans des emballages. D est incorrect parce que seulement un seul paquet peut être déclarée dans un fichier source.

38 D est correcte. Cette instanciation exige que le biodiesel sait quelque chose sur la classe de viscosité. A, B, et C sont incorrectes. Toutes ces classes font partie de l'API standard.

39 A est correcte. Ligne 16 va provoquer une erreur de compilation
A est correcte. Ligne 16 va provoquer une erreur de compilation. Les seules déclarations juridiques après blocs try sont soit prises ou finally. B, C, et D sont incorrects sur la base de la logique du programme décrit précédemment. Si la ligne 16 a été retiré, le code compile et la réponse correcte serait B.

40 C et E sont corrects. B est incorrect parce que la commande java peut également utiliser des fichiers JAR. D est incorrect parce que le nom d'un fichier JAR doit être inclus dans un chemin de classe pour que le JAR à être trouvé.

41 A est correcte. Le programme des flux comme suit: k sera incrémenté après la boucle while est entré, alors k sera changée à 2 lorsque la boucle est entré. L'if est fausse, et l'instruction continue est jamais atteinte. L'instruction break raconte la JVM de sortir de la boucle externe, à quel point k est imprimé et le fragment est fait. B, C, et D sont incorrectes sur la base de la logique du programme décrit dans la déclaration précédente.

42 A and E will not compile. A needs a cast to convert b2 to a Bongo, while E needs a cast to convert b3 to a Bingo. G is correct since a Bongo can do everything a Bango can do. B, C, D, and F are all correct assignments.

43 E est correcte. Ligne 7 tentatives de changer l'objet qui se réfère à f1, ce qui est illégal parce f1 est définitive. A, B, C, D, et F sont incorrects sur la base de l'explication précédente.

44 D est correcte. Dans la classe A, l'appel au constructeur privé se fait uniquement à partir d'un, et il fonctionne avant que le reste du constructeur protégé. A, B, C, E, F et G sont incorrects sur la base de l'explication précédente.

45 D est correcte. Parce que les membres statiques dans Stuff ne sont pas marqués du public, l'utilisateur ne peut pas les voir (malgré les importations statiques). A, B, C, et E sont incorrects sur la base de l'explication précédente.

46 E et H sont corrects. L'emplacement du fichier
E et H sont corrects. L'emplacement du fichier .java est sans importance; nous devons indiquer où trouver l'un des fichiers .class. Le chemin de classe est pas bon pour nous ici, car il ne comprend pas tous les fichiers du répertoire ou un bocal qui contient directement lecteur / MusicPlayer.class. Le chemin de classe doit être réglé avec l'option -cp pour inclure soit / MP / classes ou /mp/jars/mp.jar (afin que nous puissions omettre l'initiale / mp d'une ou l'autre puisque nous sommes déjà à partir de ce répertoire). A et B sont mauvais parce qu'ils ont pas -cp (et le CLASSPATH est invalide). C et F sont mauvais parce qu'ils ont le mauvais chemin de classe. D, E, G et H ont le bon chemin de classe, mais D et G ont tort parce que l'argument final doit être player.MusicPlayer (nous ne pouvons pas omettre le package ici).

47 C et D sont corrects. L'algorithme equals () doit être au moins aussi précis dans la définition de ce "significative équivalent» signifie que la méthode hashCode () est. A et B sont incorrectes parce que ces equals () implémentations permettraient instances soient égaux que hashCode () ne verrait pas comme égaux.

48 B est correct. La déclaration VAR-args est correcte, mais rappelez-vous que la méthode VAR-args sera choisi uniquement si une méthode d'argument fixe ne sont pas disponibles. A, C, D, et E sont incorrects sur la base de l'instruction précédente.

49 D est correcte. A est incorrecte car une seule classe publique peut être déclarée dans un seul fichier source. B est incorrect parce que les classes peuvent être ajoutés, à condition qu'ils ne sont pas publiques. C est incorrect parce que le nom de fichier doit être dérivé du nom de la classe publique qui y sont.


Télécharger ppt "OCA Java 7 Quiz A."

Présentations similaires


Annonces Google