我有一个抽象类A,和一个继承A的抽象类B。 然后,我有一个继承 B 的类 C(非抽象)。
我需要重写一些在 A 中声明为抽象、在 B 中未实现的方法以在 C 中实现。
但是当我尝试执行此操作并在我的方法顶部添加 Override 注释时,它说它无效,因为该方法在父级中不存在。
我该怎么做?
带签名的代码:
public abstract class A {
abstract protected EntityType getEntityType();
abstract protected ActionResponse doProcessing();
}
public abstract class B extends A {
@Override
EntityType getEntityType() {
....
...
}
}
public class C extends B {
@Override
ActionResponse doProcessing() {
...
..
}
}
最佳答案
子类的
访问修饰符
不能弱于它的父类(super class)
。最好将子类的Access Modifier
从default
更改为protected
关于Java:重写祖 parent 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27564979/