考虑以下情况
class A
{
X()
{
//some code
Y();
}
}
class B extends A
{
Y(){ //some code }
}
如果我创建类 B
的对象,并且尝试使用函数 X
,因为它是从 A
扩展而来的,是吗?函数X
可能可以访问类B
的调用对象的函数Y
。
最佳答案
可以,但必须满足
- 类是抽象的
- Y 方法也很抽象
示例:
abstract class A {
void X() {
Y();
}
abstract void Y();
}
class B extends A {
@Override
void Y() {
System.out.println("Hello from B class");
}
}
以这种形式,每次类 A 调用 Y 时,它实际上都会调用抽象方法 Y 的实现方法
关于java - 从父类方法调用子类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44430815/