Pessoal,
segue a questão:
public class Teste{
private String runNow(){
return "High";
}
static class B extends Teste{
public String runNow(){
return "Low";
}
}
public static void main(String args[]){
Teste[] a=new B[]{new B(),new C()};
for(Teste aa:a)
System.out.print(aa.runNow()+" ");
}
}
class C extends Teste.B{
public String runNow(){
return "Out";
}
}
Saída: High High
Dúvida: Em tempo de execução as referências não seriam para as classes B e C ? Ou seja a saída seria: Low Out
???