qcm2 2014 1 nc .pdf
À propos / Télécharger Aperçu
Nom original: qcm2-2014-1-nc.pdf
Ce document au format PDF 1.6 a été généré par TeX / pdfTeX-1.40.13, et a été envoyé sur fichier-pdf.fr le 26/11/2014 à 21:24, depuis l'adresse IP 88.179.x.x.
La présente page de téléchargement du fichier a été vue 439 fois.
Taille du document: 97 Ko (6 pages).
Confidentialité: fichier public
Aperçu du document
Université Paris-Diderot – Licence d’informatique, eidd, math-info, linguistique et
informatique,
14 novembre 2014
tous les documents sont interdits
Nom:
POO
QCM 2-V2, Version: A
Carte d’étudiant:
Remplissez la table avec les lettres correspondant à vos réponses. Vous ne rendez que cette première page.
Questions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Réponse(s)
Bonne réponse=1pt; mauvaise réponse ou réponse incomplète =-0,5pt; pas de réponse=0pt.
1
20
21
22
23
1. class A {void g() {System.out.println("A:g()"); }}
class B extends A {void g() {System.out.println("B:g()"); }}
class C extends B {void g() {System.out.println("C:g()"); }}
et le code A a = new C(); ((B)a).g(); :
(a)
provoquent une erreur à la compilation
(b)
provoquent un erreur à l’exécution
(c)
affiche C:g()
(d)
affichent A:g()
(e)
affichent B:g()
2. class A1 {int a = 5; B1 b=new B1(10);
void f() {System.out.println("A1 " + a); b.f();}
class B1 {B1(int i){a=i;}void f() {System.out.println("B1 " + a); }}
rrr
Et le code (new A1()).f(); :
(a)
provoquent une erreur à la compilation ou à l’exécution
(b)
affichent A1 5 et B1 10
(c)
affichent A1 10 et B1 10
3. Les codes interface J {int f(int i);} et:
public static int g(int i) {return (new J() {public int f(int i) {return i++;}}).f(i); }
et le code System.out.println(g(3));
(a)
provoquent une erreur à la compilation ou à l’exécution
(b)
affichent 3
4. class LL{int i=2; static void f(){System.out.println(i);}}
class LD extends LL {int i=4; static void f(){System.out.println(i);}}
et le code LL ll=new LD(); ll.f();
(a)
affichent 2
(b)
affichent 4
(c)
provoquent une erreur à la compilation
5. class T{public int i=1; public int j=2; }
class U extends T{public int i=10;}
Le code : T x=new U(); System.out.println("x.i="+x.i+" ((T)x).i="+((T)x).i+" ((U)x).i)="+((U)x).i);
(a)
provoque une erreur à la compilation
(b)
provoque une erreur à l’exécution
(c)
affiche: x.i=1 ((T)x).i=1 ((U)x).i)=10
(d)
affiche: x.i=10 ((T)x).i=1 ((U)x).i)=10
(e)
affiche: x.i=10 ((T)x).i=10 ((U)x).i)=10
2
6. “interface I{void f(int i);}” avec le code :
“(new I(){public void f(int i){System.out.println("I:"+i);}}).f(4);”
(a)
afficheront I:4
(b)
provoquent une erreur à la compilation
(c)
provoquent une erreur à l’exécution
7. class A1 {int a = 5; B1 b=new B1(10);
void f() {System.out.println("A1 " + a); b.f();}
static class B1 {B1(int i){a=i;}void f() {System.out.println("B1 " + a); }}
}
Et le code (new A1()).f();:
(a)
provoquent une erreur à la compilation ou à l’exécution
(b)
affichent A1 5 et B1 10
(c)
affichent A1 10 et B1 10
8. Les codes interface J {int f(int i);} et:
public static int h(final int i) {return (new J() {public int f(int j) {return i+j; }}).f(i);}
et System.out.println(h(3))
(a)
affichent 6
(b)
provoquent une erreur à la compilation ou à l’exécution
9. class A {void g() {System.out.println("A:g()"); }}
class B extends A {void g() {System.out.println("B:g()"); }}
et le code A a = new B(); ((A)a).g();
(a)
provoquent une erreur à la compilation ou à l’exécution
(b)
affichent A:g()
(c)
affichent B:g()
10. class A1 {int a = 5;
void f() {B1.f();}
static class B1 {void f() {System.out.println("B1 " + A1.this.a); }}
}
Et le code (new A1()).f();:
(a)
affichent B1 5
(b)
provoquent une erreur à la compilation ou à l’exécution
11. class A {int i=5;void f() {System.out.println(i);}}
class B extends A{int i=4; void f(){System.out.print(i+” ");super.f();}}
Le code suivant: “B b=new B();((A)b).i=6;((A)b).f(); ”
(a)
provoque une erreur à l’exécution ou à la compilation
(b)
affiche 6
(c)
affiche 6 5
(d)
affiche 4 6
3
12. class A {
void f() {System.out.println("f de A"); g(); }
void g() {System.out.println("g de A"); }
}
class B extends A {void g() {System.out.println("g de B");super.f(); }}
class C extends B {void f() {super.f(); }}
Le code A a = new C(); ((A)a).f();
(a)
provoque une erreur à la compilation ou à l’exécution
(b)
Il affiche f de A puis g de A
13. class A {int i=5;void f(){System.out.println(i);}}
class B extends A{int i=4; void f(){System.out.println(super.i);}}
Le code suivant: “A a= new B();a.f(); ”
(a)
affiche 5
(b)
provoque une erreur à la compilation ou à l’exécution
14. class CC{int i=5; private void f() {System.out.println(i);}}
class CX extends CC {int i=8;public void f() {System.out.println(i);}}
et le code CC cc=new CX(); cc.f();
(a)
provoquent une erreur à la compilation
(b)
affichent 8
(c)
affichent 5
15. class AA {int i = 5; void f() {System.out.println(i); }}
class BA extends AA {int i = 10; void f() {super.f();}}
et le code AA aa = new BA(); aa.f();:
(a)
affichent 10
(b)
affichent 5
(c)
provoquent une erreur à la compilation ou à l’exécution
16. class AX{int i=5; protected void f(){System.out.println(i);}}
class BX extends AX{int i=4; private void f() {System.out.println(i);}}
et le code AX aa = new BX(); ((AX) aa).f();
(a)
provoquent une erreur à la compilation
(b)
affichent 4
(c)
affichent 5
17. class AA {int i = 5; void f() {System.out.println(i); }}
class BA extends AA {int i = 10; void f() {System.out.println(i);}}
et le code AA aa = new BA(); aa.f();:
(a)
affichent 10
(b)
affichent 5
(c)
provoquent une erreur à la compilation ou à l’exécution
4
18. “interface I{void f(int i);}” avec le code :
" final int j1 = 4; (new I() {public void f(int i) {j1 = i + j1; System.out.println("I:" + j1); }}).f(5); "
(a)
afficheront I:9
(b)
provoquent une erreur à la compilation
(c)
provoquent une erreur à l’exécution
19. class T{protected int i=1; }
class U extends T{public int i=10;}
Le code : T x=new U(); System.out.println("x.i="+x.i+" ((T)x).i="+((T)x).i+" ((U)x).i)="+((U)x).i);
(a)
provoque une erreur à la compilation
(b)
provoque une erreur à l’exécution
(c)
affiche: x.i=1 ((T)x).i=1 ((U)x).i)=10
(d)
affiche: x.i=10 ((T)x).i=1 ((U)x).i)=10
(e)
affiche: x.i=10 ((T)x).i=10 ((U)x).i)=10
20. class F {
void f(){System.out.print("F.f() ");this.g();}
void g(){System.out.print("F.g() ");}
}
class Fbis extends F{
void f(){System.out.print("Fbis.f() ");this.g();}
void g(){System.out.print("Fbis.g() "); super.f();}
}
class Main{
public static void main(String[] args){F f=new Fbis(); ((F)f).f(); }
}
(a)
la sortie sera: F.f() F.g()
(b)
la sortie sera: Fbis.f() Fbis.g() F.f() F.g()
(c)
la compilation provoque une erreur
(d)
le programme boucle à l’exécution
21. class LL{static int i=2; static void f(){System.out.println(i);}}
class LD extends LL {void g(){static int i=4; System.out.println(i);}}
et le code LL ll=new LD(); ll.f();
(a)
affichent 2
(b)
affichent 4
(c)
provoquent une erreur à la compilation
5
22. class X1{
static int a=5; Y1 y=new Y1(); void f(){y.f();}
class Y1{static void f(){System.out.println(a);}}
}
et le code X1 a= new X1(); a.f();
(a)
provoquent une erreur à la compilation
(b)
provoquent une erreur à l’exécution
(c)
affichent 5
23. class A{String s="A"; void f(String s1){System.out.println(s+" "+s1);}}
class B extends A{String s="B"; void f(String s1){super.f(s+" "+s1);}}
class C extends B{String s="C"; void f(String s1){super.f(s+" "+s1);}}
et le code “A a=new C();((A)a).f("X");”
(a)
Provoquent une erreur à la compilation ou à l’exécution
(b)
Affichent C C C X
(c)
Affichent A B C X
(d)
Affichent A X
6






Sur le même sujet..
provoque
compilation
affichent
affiche
provoquent
system
static
execution
println
class
super
string
erreur
extends
public