-
L'extrait de code suivant génère-t-il une erreur de compilation en
langage Java 1.6 ?
int a = 1;
Integer b = a;
- *
La méthode main de la classe M décrite ci-dessous
affiche :
public class E {
String s;
public E(String s) {
this.s = s;
}
public boolean equals(Object o){
if(o == this) return true;
if(o == null) return false;
if(! (o instanceof E)) return false;
E e = (E)o;
if(e.s.equals(s)) return true;
return false;
}
}
public class F extends E {
public F(String s) {
super(s);
}
}
public class M {
public static void main(String[] args) {
String s = "t";
E e = new E("e");
F f = new F("e");
Object g = f;
System.out.println(e.equals(f));
System.out.println(e.equals(g));
System.out.println(e.equals(s));
System.out.println(f.equals(s));
System.out.println(g.equals(s));
}
}
-
Étant donné les classes décrites ci-dessous, sélectionnez les réponses
correctes.
public class E {
String s = "e";
public E() {}
public E(String s) {
this.s = s;
}
public boolean equals(Object o){
if(o == this) return true;
if(o == null) return false;
if(! (o instanceof E)) return false;
E e = (E)o;
if(e.s.equals(s)) return true;
return false;
}
}
public class F extends E {}
public class G {}
- *
Étant donné les classes décrites ci-dessous, sélectionnez les réponses
correctes.
public class T {
String s;
public T(String s) {
this.s = s;
}
public boolean equals(Object o) {
if(o == this) return true;
if(o == null) return false;
if(! (o instanceof T)) return false;
T t = (T)o;
if(t.s.equals(s)) return true;
return false;
}
public int hashCode(){
return s.hashCode();
}
}
public class U {
String s;
public U(String s) {
this.s = s;
}
public boolean equals(Object o) {
if(o == this) return true;
if(o == null) return false;
if(! (o instanceof U)) return false;
U u = (U)o;
if(u.s.equals(s)) return true;
return false;
}
}
public class M {
public static void main(String[] args) {
String s = "t";
T t = new T("t");
U u = new U("t");
T v = new T("t");
U w = new U("t");
}
}
-
Étant donné la classe décrite ci-dessous, sélectionnez les
affirmations qui sont vraies.
public abstract class A {
private int a;
public A() {
a = 10;
}
public A(int a) {
this.a = a;
}
}
-
Étant donné les classes décrites ci-dessous, sélectionnez les
affirmations qui sont vraies.
public class A {}
public class B extends A {}
public class M {
public static void main(String[] args) {
A a = new A();
B b = new B();
A c = b;
B d = b;
System.out.println(a instanceof A);
System.out.println(b instanceof B);
System.out.println(c instanceof B);
System.out.println(d instanceof A);
}
}
-
Étant donné les classes décrites ci-dessous, sélectionnez les
affirmations qui sont vraies.
public class A {}
public class B extends A {}
public class M {
public static void main(String[] args) {
A a = new A();
B b = new B();
A c = (A) b;
B d = c;
System.out.println(a instanceof A);
System.out.println(b instanceof B);
System.out.println(c instanceof B);
System.out.println(d instanceof A);
}
}
- *
Étant donné les classes décrites ci-dessous, sélectionnez les
affirmations qui sont vraies.
public class E {
int a;
public E(int a) {
this.a = a;
}
}
public class F extends E {
int b = 1;
public F(int a,int b) {
super(a);
this.b = b;
}
public F(int a) {
super(a);
b = 10;
}
public F() {
super(5);
}
}
- *
La méthode main de la classe M ci-dessous affiche :
public class G {
public void m() {
System.out.println("G.m");
}
}
public class H extends G {
public void m() {
System.out.println("H.m");
}
}
public class M {
public static void main(String[] args) {
G g = new G();
H h = new H();
G i = h;
H j = (H) i;
g.m();
h.m();
i.m();
j.m();
}
}
-
Étant donné les classes décrites ci-dessous, sélectionnez les
affirmations qui sont vraies.
public abstract class X {
public abstract void m();
public abstract void n();
}
public class Y extends X {
public void m() {
System.out.println("Y.m");
}
}
public class Z extends Y {
public void n() {
System.out.println("Z.n");
}
}