Почему работает
Larry var3 = new Jerry();
var3.method3();
выводит ошибку вместо
Ларри 1
Гарри 1
Мэри 3
Я думаю, это может быть связано с тем, как был создан объект. Но это всего лишь мои предположения.
Это код:
public class Harry {
public void method1() {
System.out.println("harry 1");
}
public void method2() {
method1();
System.out.println("harry 2");
}
}
public class Larry extends Harry {
public void method1() {
System.out.println("larry 1");
super.method1();
}
}
public class Mary extends Larry {
public void method2() {
System.out.println("mary 2");
}
public void method3() {
super.method1();
System.out.println("mary 3");
}
}
public class Jerry extends Mary {
public void method2() {
super.method2();
System.out.println("jerry 2");
}
}