父级是否可以调用子类方法?
2022-09-02 00:12:05
参考这里
A是一个预编译的Java类(我也有源文件)B是一个Java类,我正在编写
B扩展A。
如何实现逻辑,以便 A 可以调用 B 具有的方法。
以下是条件:
- 我不想触摸A(只是作为最后一个选项,尽管如果没有其他解决方案存在)。
- 我不想使用反射。
如前所述,如果需要,我可以修改A。无论哪种方式,可能的解决方案是什么?
参考这里
A是一个预编译的Java类(我也有源文件)B是一个Java类,我正在编写
B扩展A。
如何实现逻辑,以便 A 可以调用 B 具有的方法。
以下是条件:
如前所述,如果需要,我可以修改A。无论哪种方式,可能的解决方案是什么?
是的,如果您重写超/基类的函数,那么对基类中这些函数的调用将转到子类/派生类。在我看来,这似乎是一个糟糕的设计,但你去了。
class Base
{
public void foo()
{
doStuff();
}
public void doStuff()
{
print("base");
}
}
class Derived extends Base
{
@Override
public void doStuff()
{
print("derived");
}
}
new Derived().foo(); // Prints "derived".
显然,所有的方法都必须在 中定义,但要以其他方式(没有内省)来做,在逻辑上是不可能的。Derived
Base