public class SuperClass
{
public void method1()
{
System.out.println("superclass method1");
this.method2();
}
public void method2()
{
System.out.println("superclass method2");
}
}
public class SubClass extends SuperClass
{
@Override
public void method1()
{
System.out.println("subclass method1");
super.method1();
}
@Override
public void method2()
{
System.out.println("subclass method2");
}
}
public class Demo
{
public static void main(String[] args)
{
SubClass mSubClass = new SubClass();
mSubClass.method1();
}
}
мой ожидаемый результат:
метод подкласса1
метод суперкласса1
метод суперкласса2
фактический вывод:
метод подкласса1
метод суперкласса1
метод подкласса2
Я знаю, что технически я превзошел публичный метод, но я понял, что, поскольку я звонил супер, любые звонки в супер оставались в супер, этого не происходит. Любые идеи относительно того, как я могу это сделать?