cristian8503
14-12-2008, 17:33
Esaminare attentamente il codice fornito di seguito (che è compilabile ed eseguibile
senza errori) e dire quale risultato produce il metodo test() della classe X spiegando
brevemente il ragionamento che ha condotto al risultato.
class A {public long a=4;}
class B extends A {public long b=5;}
class C extends B {public long c=6;}
class D extends C {public void f() {System.out.println(a+b+c);}}
class X {
public void test(){
C b = new D(); b.c = 1;
B c = new D(); c.b = 2;
A d = c; d.a = 3;
D a = (D)d;
a.f();
}
}
senza errori) e dire quale risultato produce il metodo test() della classe X spiegando
brevemente il ragionamento che ha condotto al risultato.
class A {public long a=4;}
class B extends A {public long b=5;}
class C extends B {public long c=6;}
class D extends C {public void f() {System.out.println(a+b+c);}}
class X {
public void test(){
C b = new D(); b.c = 1;
B c = new D(); c.b = 2;
A d = c; d.a = 3;
D a = (D)d;
a.f();
}
}