В следующем примере кода:
class Parent {
int x =5;
public Integer aMethod(){
System.out.print("Parent.aMthod ");
return x;
}
}
class Child extends Parent {
int x =6;
public Integer aMethod(){
System.out.print("Child.aMthod ");
return x;
}
}
class ZiggyTest2{
public static void main(String[] args){
Parent p = new Child();
Child c = new Child();
System.out.println(p.x + " " + c.x);
System.out.println(p.aMethod() + " \n");
System.out.println(c.aMethod() + " \n");
}
}
И вывод:
5 6
Child.aMthod 6
Child.aMthod 6
Почему p.aMethod()
не печатает 6, когда px печатает 6?
Спасибо
Редактировать
Упс, небольшая опечатка: вопрос должен быть «почему p.aMethod () не печатает 5, когда px печатает 5» - Спасибо @ thinkteep