在 Java 中的超级 class 方法中使用嵌套重写方法
Usage of nested overridden methods in super class methods in Java
如果我有一个名为 SuperClass
的抽象 class 和一个名为 SubClass
的子 class,方法声明如下:
public abstract class SuperClass {
public void foo() {
//Do something
bar();
}
public void bar() {
//Does something in one way
}
}
public class SubClass extends SuperClass {
@Override
public void bar() {
//Does something in other way
}
}
当我在 SubClass
实例上调用继承方法 foo()
时:
SubClass sub = new SubClass();
sub.foo();
在 foo()
方法内部执行的 bar()
方法是否是 SubClass
或 SuperClass
中定义的方法?
它将调用子类的方法
如果我有一个名为 SuperClass
的抽象 class 和一个名为 SubClass
的子 class,方法声明如下:
public abstract class SuperClass {
public void foo() {
//Do something
bar();
}
public void bar() {
//Does something in one way
}
}
public class SubClass extends SuperClass {
@Override
public void bar() {
//Does something in other way
}
}
当我在 SubClass
实例上调用继承方法 foo()
时:
SubClass sub = new SubClass();
sub.foo();
在 foo()
方法内部执行的 bar()
方法是否是 SubClass
或 SuperClass
中定义的方法?
它将调用子类的方法