У меня есть три разных класса:
1 -)
abstract class A {
abstract void one();
void two(){
System.out.println("two");
one();
}
abstract void three();
}
2 -)
abstract class B extends A {
void one() {
System.out.println("one");
three();//I think this method has to run
}
void three() {
System.out.println("3");//That
}
}
3 -)
public class C extends B {
void three(){
System.out.println("three");
}
}
в методе Main
public static void main(String [] args){
C c=new C();
c.one();
c.two();
c.three();
}
Вывод:
one
three
two
one
three
three
Но я думаю, что во втором коде метод one () должен запускать три метода, а вместо этого он должен показывать «3»«три», но этот код запускает три в классе C.