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();
}
}
мой ожидаемый результат:
подкласс method1
суперкласс method1
суперкласс method2
фактический вывод:
подкласс method1
суперкласс method1
subclass method2
Технически я знаю, что переопределил общедоступный метод, но я полагал, что, поскольку я вызывал суперпользователь, любые вызовы внутри него останутся в суперпользователе, этого не происходит. Есть идеи, как это сделать?