class B extends C
{
void x() { System.out.println("X");}
}

class C
{
void x() { System.out.println("Y");}
}

public class A
{
A()
{
C x=new B();
x.x();
}

public static void main(String args[]) {
new A();
}
}



Questa stamperebbe: X,

se fosse.

1. C x=new C(); stamperebbe Y
2. B x=new B(); stamperebbe X
3. B x=new C(); ERRORE, ma si potrebbe farlo eseguire, con il cast forse? Come?