[英]“Class X extends Y (abstract), Y implements Z (interface). ”Cannot call abstract method of interface Z"
[英]Extend an abstract class that extends another abstract class and need to override the interface the parent abstract class implements
我有一个称为Post的实体类。 Post的父级基于名为AbstractPost的抽象类。 AbstractPost具有变量“ author”,其设置者的签名在称为PostInterface的接口中定义。
我处于一种情况下,我需要覆盖作者的二传手,但不想修改父母(当然)。
这些是父类:
class Post extends AbstractPost
abstract class AbstractPost implements PostInterface
interface PostInterface
我有以下课程:
class MyPost extends MyAbstractPost
abstract class MyAbstractPost extends AbstractPost implements MyPostInterface
interface MyPostInterface extends PostInterface
但是,我得到了错误:
致命错误:MyAbstractPost :: setAuthor()的声明必须与PostInterface :: setAuthor()的声明兼容
我读到孩子们继承了父类的“实现”部分(这里是正确的术语?),所以我想我想知道如何重写它。 还是我没有以正确的方式扩展/实施?
谢谢!
答案是不。
重载方法签名会破坏具有接口的目的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.