Java:重写祖 parent 的方法

标签 java

我有一个抽象类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 Modifierdefault更改为protected

关于Java:重写祖 parent 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27564979/

相关文章:

java - 如何让手机以编程方式进入 hibernate 状态

java - FacesContext : separate error and success messages

java - 向后寻求处理无效的 MP3 header ?

java - Swing 控件上的 block 更改操作

java - "startsWith"比 "indexOf"快吗?

java - Jsoup:用文本更改标签然后保存在 Java 中

java - IKVM 复杂自定义类型在重新映射到属性时出错!

java - 如何使用 Spring 将嵌套键值对从属性文件加载到 Java 对象中?

java - jboss 上的 spring boot 应用程序未运行

java - 问号正则表达式 (Java)