DONNÉ:héritage et membres classe
class A
{
String s = "A";
}
class B extends A
{
String s = "B";
}
public class C
{
public static void main(String[] args){ new C().go();}
void go()
{
A a = new B();
System.out.println(a.s);
}
}
Question:
Quels sont les mécanismes derrière JVM lorsque ce code est exécuté? Comment se fait-il que a.s s'imprime en "A".
En plus des autres réponses, notez qu'il n'y a pas d'accès au membre s de B en utilisant un sans le rétrograder à B, par ex. ((B) a) .s –