【发布时间】:2012-12-25 16:09:00
【问题描述】:
是否可以像这样定义一个类
public class MyClass
{
public void methodA(){} // Inherit
public void methodB(){} // Inherit
public void methodC(){} // Require override
}
然后让所有从 MyClass 扩展的类都需要覆盖 methodC(),但只是简单地继承 methodA() 和 methodB()?
如果可能,如何做到这一点?如果不可能,您能否提出一个替代解决方案来达到类似的结果?
编辑:
我需要一个非抽象类,因为我也希望能够实例化这个类。
【问题讨论】:
-
要求重写几乎是抽象方法或类的定义。
-
我正在考虑这一切;如果我们使用抽象,IDE 和编译会及时帮助我们处理它;但是..我有一个案例,我的代码会变得不必要的复杂和难以阅读......所以我决定在运行时创建限制,在测试应用程序时,所有限制都会弹出阻止它运行;对我来说已经足够好了:)
-
我们也可以使用运行时多态性覆盖非抽象类。不需要基础抽象类或最终类。
标签: java inheritance methods