继承强制在Java中使用基类方法
假设我有两个类Base
和Derived
:
public class Base {
public Base() { }
public void methodA() {
System.out.println("Base: methodA");
methodB();
}
public void methodB() {
System.out.println("Base: methodB");
}
}
public class Derived extends Base {
public Derived() { }
public void methodA() {
super.methodA();
System.out.println("Derived: methodA");
}
public void methodB() {
System.out.println("Derived: methodB");
}
}
现在有了这个:
Base d = new Derived();
d.methodA();
将打印:
Base: methodA
Derived: methodB
Derived: methodA
我的问题是:有没有可能强迫d.methodA()
使用Base.methodB()
我想把代码打印出来:
Base: methodA
Base: methodB
Derived: methodA
<>对于C++中的那些知识,这可以用^{我几乎可以肯定之前有人问过这个问题,但我找不到任何东西,如果这是重复的,我很抱歉
# 1 楼答案
不行。在C++语言中,所有Java方法都是“虚拟的”。所以你可以这样做:
# 2 楼答案
我认为,通过将父类中的功能分解到它自己的方法中,您可以实现您想要的。不是你看的方向而是你想要的: