有3个类的可能性,比方说A,B和C,测试类中的以下代码将如下运行:
A a1 = new B(); // works
A a2 = new C(); // works
a1.method(); // works
a2.method(); // compile error
当然,我不想在a2.method中编写错误来强制编译错误。
答案 0 :(得分:0)
不,那是不可能的。声明某些内容为A
意味着它必须提供A
内的所有方法。
您可以做的就是覆盖该方法并让它抛出异常,以便在调用它时生成运行时错误。
真的,这有点像你的继承架构错了,但需要重新考虑它。