继承强制编译错误

时间:2013-12-03 16:43:37

标签: java inheritance compilation

有3个类的可能性,比方说A,B和C,测试类中的以下代码将如下运行:

 A a1 = new B(); // works
    A a2 = new C(); // works
    a1.method(); // works
    a2.method(); // compile error

当然,我不想在a2.method中编写错误来强制编译错误。

1 个答案:

答案 0 :(得分:0)

不,那是不可能的。声明某些内容为A意味着它必须提供A内的所有方法。

您可以做的就是覆盖该方法并让它抛出异常,以便在调用它时生成运行时错误。

真的,这有点像你的继承架构错了,但需要重新考虑它。