Test
Réponses
Programmation orientée objet Java
Novembre 2008
Question 1 1.
Soit les classes suivantes : Package P1
Package P2
public class A{ int a; public int b; private int c; protected int d; }
public class C extends A{ … }
Package P3 : Sous Package P1 public class B{ … }
Pour la classe B : b Pour la classe C : b,d
Question 2 En quoi le code ci-dessous est-il incorrect?
int [ ] tab; // tableau d'entiers for (int i=0; i < 10 ; i++) { tab[i]=0; }
int [ ] tab = new int[10];
Question 3
Soit la classe 1. public class Test1 { 2. public float maMethod (float a, float b) { 3. } 4. 5. }
Lesquelles des méthodes suivantes pourraient être ajoutées (individuellement) à la ligne 4? A. public int maMethod (int a, int b) {} B. public float maMethod (float a, float b) {} C. public float maMethod (float a, float b, int c) throws Exception {} D. public float maMethod (float c, float d) {} E. private float maMethod (int a, int b, int c) {} F. private float maMethod (int a, int b) {}
Question 4
Soit la définition de classe suivante : 1. public class Test extends Base { 2. public Test (int j) { 3. } 4. public Test (int j, int k) { 5. super(i,j); 6. } 7. } Quelles forme de constructeur parmi les suivantes doiventelles être explicitement présentes dans la définition de la classe Base A. B. A.
Base() {} Base (int j) {} Base (int j, int k) {} Base (int j, int k, int l) {}
Question 5
Quel est le résultat du code suivant : public class Pass{ static int j = 20; public static void main (String args[]){ int i = 10; Pass p = new Pass (); p.maMethod ( i ); System.out.println ( i ); System.out.println ( j ); } public void maMethod ( int x ){ x = x * 2; Résultat : j = j * 2; } 10 }
40
Question 6
Étant donné la définition suivante de classe, qui des méthodes suivantes pourrait être également placée après le commentaire public class Test { public void Method (int i, String s) {} //ici} public void Method (String s, int i){} A. public int Method (int i, String s){} B. public void Method (int i, String mystring){} public void AMethod (int i, String s) {}
Question 7 Soit :
1. interface Base { 2. boolean m1 (); 3. int m2(int s); 4. } Quel est le fragment de code qui compilera? A. interface Base2 implements Base { } B. abstract class Class2 extends Base { public boolean m1() { return true; } } C. abstract class Class2 implements Base { } D. abstract class Class2 implements Base { public boolean m1() { return (true); } } class Class2 implements Base {
public boolean m1() { return false; } public int m2(int s) { return 42; } }
Question 8
Parmi les instructions suivantes lesquels sont valides? A. "X extends Y" Est possible ssi X est une classe et Y est une
interface. B. "X extends Y" Est possible ssi Y est une classe et X est une interface. "X extends Y" Est possible si X et Y les deux sont des classes ou des interfaces A. "X extends Y" Est possible pour toutes combinaison de X et Y soit des classes et/ou des interfaces
Question 9
Quelles sont les déclarations légales : int x [ ]; A. int [ ] y; int [5] x2; A. int z2 [5]; int [ ] z [ ] [ ]; A. int [ ] y2 = [5];
Question 10 class Base { public final void methode() { System.out.println("Base"); } } public class Sub extends Base { public void methode() { System.out.println("Classe Sub"); super.methode(); } public static void main(String [] args) { new Sub(); A. Classe Sub }} Quel est le résultat ?
B. Base C. Base Classe Sub D. Classe Sub Base E. Erreur de compilation.
Question 11 Soit:
class Top { public Top(String s) { System.out.print("B"); } } public class Bottom extends Top { public Bottom (String s) { System.out.print("D"); } public static void main(String [ ] args) { new Bottom ("C"); System.out.println(" "); }} Quel est le résultat ? A. BD B. DB C. BDC D. DBC Erreur de compilation.
Question 12 Soit:
1. class Plante { 2. String getName() { return "plante"; } 3. Plante getType() { return this; } 4. } 5. class Fleur extends Plante { 6. // ici 7. } 8. class Tulipe extends Fleur { } Parmi ces propositions, la (es) quelle(s) s'insère (ent) à la ligne 6, permettra (ont) au code de compiler ? A. B. A.
Fleur getType() { return this; } String getType() { return "this"; } Plante getType() { return this; } Tulipe getType() { return new Tulipe(); }
Question 13
Soit:
public class Calcul { public int compte(int x) { Quel est le résultat ? int r = 1; A. 45 r += x; B. 56 if ((x > 4) && (x < 10)) { C. 89 r += 2 * x; D. 111 } else (x <= 4) { Erreur de compilation r += 3 * x; A. une exception est levée } else { r += 4 * x; } r += 5 * x; return r; } public static void main(String [] args) { Calcul c = new Calcul(); System.out.println(c.compte(11)); }}
Question 14 Soit:
1. class A { 2. public static void main(String [] args) { 3. int x = 0; 4. // ici 5. do { } while (x++ < y); 6. System.out.println(x); 7. } 8. } Qu'elle instruction, ajoutée à la ligne 4, produit le résultat 12 ?
A. B. A. B. C.
int y = x; int y = 10; int y = 11; int y = 12; int y = 13; aucune instruction.
Question 15 Soit:
class Base { String methode(int x) { return "bonjour"; } } Quelle méthode ne serait pas légale dans une sous-classe de Base? A. String methode(int x) { return " bonjour "; } int methode(int x) { return 42; } A. public String methode (int x) {return "Bonjour ";} B. protected String methode (int x) {return "Bonjour ";} C. String methode (String s) {return "Bonjour ";} D. int methode (String s) {return 42 ;}
Question 16
Les quelles de ces affirmations sont vraies sur les constructeurs? A. Les constructeurs ne doivent pas avoir des arguments si la mère n'a pas de constructeur avec des arguments. B. Les constructeurs ne sont pas hérités. C. Les constructeurs ne peuvent pas être surchargé. La première déclaration de chaque constructeur est un appel légal à super () ou this() .
Question 17
Comment vous indiquer où un composant sera positionné en utilisant Flowlayout? A. North, South,East,West; B. Attribution row/column de la grille de référence; C. Passer un X / Y pourcentage paramètre à la méthode add; Ne rien faire, le FlowLayout positionnera la composante
Question 18
Les quelles de ces affirmations sont vraies ?
Un objet de Type ResultSet est créer à partir d'un objet de type Connection A. Un objet de Type ResultSet permet de savoir le nombre de lignes récupérer de la base via la méthode getRows() Un objet de type ResultSet contient le résultat d'une requête "select" A. Un objet de type ResultSet permet de créer un objet de Type Statement.
Question 19
Quelle est le droit d'accès le plus restrictive pour donner l'accès aux membres d'une autre classe de même package. A. B. C. D.
public abstract protected synchronized default access
Question 20
Combien d’instances de la classe A crée le code suivant? A x,y,z; x=new A(); y=x; z=new A(); A. B. C.
Aucune Cinq Trois Deux
Question 21
Pour la classe B définie comme suit: class B { public B(){System.out.print(”Groupe”);} public B(int i) {this(); System.out.println(”GCR ”+i);} } Qu’affichera l’instruction suivante? B monB=new B(2);
A. B. A.
erreur de compilation erreur d’exécution GroupeGCR2 GCR 2
Question 22 Une classe peut implémenter plusieurs interfaces mais doit étendre une seule classe A. Une classe peut implémenter plusieurs classes mais doit étendre une seule interface B. Une classe peut implémenter plusieurs classes et peut étendre plusieurs interfaces C. Une classe doit implémenter une seule interface et étendre une seule classe
Question 23 Soit la classe C définie comme suit:
class C { public static int i; public int j; public C() {i++; j=i; } } Qu’affichera le code suivant? C x=new C(); C y=new C(); C z= x; System.out.println(z.i + ” et ” + z.j); A. B. A.
2 1 2 1
et 2 et 1 et 1 et 3
Question 24
Qu'affiche ce programme ? public class Test4 { public static void method(){ System.out.println("Appel"); } public static void main(String[] args){ Test4 t4 = null; t4.method(); } } A. B. C.
"Appel" Erreur de compilation Erreur d'exécution Rien
Question 25 class Sup{ public Sup(String str){ System.out.println("Super class"); } } public class Test2 extends Sup{ public Test2(){ System.out.println("Sub class"); } public static void main(String[] args) { Test2 t2 = new Test2(); } } A. B. C.
Super class,SubClass Super class Sub class Erreur de compilation
FIN