3D QCM J2 java révision J2 ITI 3D 10/2012 Nom (majuscules) Prénom Java Contrôle de révision Attention, il peut y avoir plusieurs réponses justes pour chaque question; il faut cocher chaque réponse exacte 1.Après les initialisations String mot = "toto"; boolean test = false ; ■la variable mot contient une référence à la chaine "toto" la variable mot contient "toto" la variable test contient -1 ■la variable test contient false la variable test contient une référence à false 2.Le constructeur par défaut est toujours généré par le compilateur est toujours créé par le compilateur si la classe possède au moins une sous-classe ■est généré par le compilateur si aucun constructeur n'est créé par le développeur 3.Quel est le résultat de la séquence ArrayList<String> mots ; mots.add("azer") ; la chaine "azer" est ajoutée à la liste un ArrayOutOfBoundsException (dépassement de capacité de la liste) ■un NullPointerException 4.l'instruction Calendar cal = new GregorianCalendar() est autorisée parce que ■GregorianCalendar est une sous-classe de Calendar Calendar est une sous-classe de GregorianCalendar Calendar et GregorianCalendar ont la même super-classe Date 5.portée des attributs et des variables locales ■les attributs déclarés dans une classe sont visibles dans toutes les méthodes de la classe les attributs déclarés dans une classe sont visibles seulement dans les méthodes déclarées après l'attribut les variables locales sont visibles dans toute la méthode où elles sont déclarées les variables locales sont visibles seulement dans la suite de la méthode où elles sont déclarées ■les variables locales sont visibles seulement dans la suite du bloc où elles sont déclarées page 1 3D QCM J2 java révision J2 6.un attribut static est un attribut ■ qui a une valeur unique dans toutes les instances de la classe dont la valeur ne peut pas être modifiée qui a une valeur unique dans toutes les instances de la classe et dont la valeur ne peut pas être modifiée 7.un attribut static est un attribut qui est déclaré dans la méthode main() ■ qui peut être initialisé dans la méthode main() ■ qui est attaché à la classe et non à ses instances 8.les constructeurs déclarés dans une classe sont toujours hérités par les sous-classes sont hérités par les sous-classes si on ne déclare pas de constructeur dans la sous-classe ■ ne sont jamais hérités par les sous-classes 9.dans une boucle (for, while, do... while) on utilise continue pour sortir de la boucle et passer à la suite de la méthode ■ on utilise break pour sortir de la boucle et passer à la suite de la méthode ■ on utilise return pour sortir de la méthode return est interdit à l'intérieur d'une boucle 10.l'instruction break est autorisée dans un bloc if ■ dans un bloc for ■ dans un bloc switch ■ dans un bloc while 11.quelle est la différence entre l'exécution d'un bloc while et celle d'un bloc do {...} while le bloc while peut être exécuté zéro fois le bloc do... while est exécuté au moins une fois 12.Une variable qui référence un objet, par ex. ici d1 java.util.Date d1 = new java.util.Date() ; doit contenir la référence à une instance de java.util.Date et à rien d'autre peut contenir la référence à une instance d'une super-classe, par ex. Object ■ peut contenir la référence à une instance d'une sous-classe, par ex. java.sql.Date page 2 3D QCM J2 java révision J2 13.après la séquence int x=2; int y=x; x=3; ■ y vaut 2 y vaut 3 14.avec le bloc try / catch suivant try { int nombre = Integer.parseInt(texte) ; } catch (NumberFormatException ex) { System.err.println... } ajouter(nombre); ajouter() est exécuté seulement si texte peut être "casté" (converti) en nombre ■ ajouter() est toujours exécuté après le try / catch cajouter() peut ne pas être exécuté si texte ne peut pas être "casté" en nombre, à condition de terminer le catch par un return ajouter() peut ne pas être exécuté si texte ne peut pas être "casté" en nombre, à condition de terminer le catch par un break 15.la classe Pomme possède le constructeur suivant Pomme(Color couleur) { if (couleur == Color.RED) throw new Exception("pomme de sorcière"); this.couleur = couleur; si le paramètre vaut Color.RED le constructeur retourne null si le paramètre vaut Color.RED le constructeur crée un objet Pomme avec l'attribut couleur à null ■ si le paramètre vaut Color.RED le constructeur retourne une exception 16.Une sous-classe ■ hérite de tous les attributs de sa super-classe hérite de tous les accesseurs de sa super-classe et ne peut pas les modifier hérite de tous les constructeurs de sa super-classe hérite de tous les constructeurs de sa super-classe s'il n'y a pas de constructeur dans la sous-classe ■ hérite de tous les accesseurs de sa super-classe mais peut les masquer par une surcharge ■ n'hérite pas des constructeurs de sa super-classe mais peut les appeler 17.la déclaration Date date; ■ définit une référence nulle, qui pourra être remplacée par une référence à une date définit une référence vers un date, dont les attributs sont nuls définit une référence vers un date initialisée avec le constructeur par défaut page 3 3D QCM J2 java révision J2 18.après la séquence Personne p = new Personne("toto") ; Personne p2 = p; p.setNom("titi"); le nom dans p2 vaut toto ■ le nom dans p2 vaut titi 19.la déclaration Date[] dates; ■ définit une référence nulle définit une référence vers un tableau de pointeurs nuls définit une référence vers un tableau d'éléments Date 20.L'instruction this(); désigne l'instance que le constructeur est en train de créer appelle le constructeur de la super-classe ■ appelle un constructeur de la classe courante 21.Le constructeur d'une classe, par ex. ici Date() class Date { public Date(); ■ retourne la référence à un objet Date retourne un objet Date retourne void retourne null ________________________________________ page 4