Ciao riguardando un esericzio mi è venuto un dubbio:
codice:
class A{
public String show(){
return ("brava");
}
}
class B extends A{
public String show(){
return ("elena");
}
}
class Test{
public static void main(String[] args){
A t=new A();
B i=(B)t;
System.out.println(i.show());
}
}
La classe Test è compilata correttamente ma in esecuzione mi dà un errore di Cast...xkè?poi se cambio
codice:
A t=new A();
B i=(B)t;
in:
codice:
A t=new A();
B i=(B)t;
}
}
Perchè il compilatore stampa la stringa "elena" e non "brava"?