【发布时间】:2014-10-04 06:46:17
【问题描述】:
假设我有一个接口 I 和类 A 和 B。
interface I
{
method();
}
class A implements I
{
method()
{ //Implementation 1
}
}
class B extends A
{
method()
{ //Implementation 2
}
}
我想限制 B 访问“方法”。对 b.method() 的调用应始终使用 a.method() 而不是 b.method 实现,其中 a 和 b 分别是 A 和 B 的实例。有什么解决办法吗?
Wish 接口支持另一个访问修饰符来处理此类情况。
【问题讨论】:
-
@stealthjong 接口中的最终方法?
-
如果“对 b.method() 的调用应该始终使用 a.method()”,那么为什么
B甚至会覆盖A的实现? -
抽象适配器怎么样?然后你会有我,抽象类 IAdapter 实现 I 和 A 和 B 扩展 IAdapter。在 IAdapter 中,您实现了 Interface 方法的“强制”实现,并使其成为最终的......只是一个开始。
-
@dcastro 我认为 OP 希望强制所有实现者使用 A 对该接口方法的实现。
标签: java oop interface protected