我知道每个实现 some 的类都Interface
必须覆盖它的所有方法。除非当前类是abstract
.
正如您在提到的代码模板下看到的那样,证明了这一点。
在我的情况下,只ChildClass
覆盖foo()
方法。
界面
public interface MyItf {
public void foo();
}
家长班
public abstract class ParentClass implements MyItf {
}
儿童班
public class ChildClass extends ParentClass{
@Override
public void foo() {
}
}
但是这个实现要求我将ParentClass
class 设置为abstract
.
如果我想ParentClass
成为单类而不是抽象的怎么办?
有没有人有其他只有孩子使用MyItf
而不是父类的方式?
谢谢,
[编辑]
根据所有答案,我在我的案例中找到了解决方案:
我编写了一个有 140 个子类的游戏。
为了使代码更灵活,我需要创建“空”接口并允许所有孩子实现它,例如:
public interface UnknownItf {
}
所以下次如果我需要为孩子添加新界面,我会写:
public interface UnknownItf extends NewItf{
///...
}