【发布时间】:2014-11-02 22:37:00
【问题描述】:
假设我有以下代码...
interface A{
void a();
}
interface B extends A{
void b();
}
class ImplementOne implements B{
public void a(){};
public void b(){};
}
class ImplementTwo implements B, A{
public void a(){};
public void b(){};
}
不管类ImplementTwo是否同时实现B和A,或者只实现B,它仍然需要在接口A中实现方法a(),因为接口B扩展了接口A。有什么理由明确地这样做
...implements B, A
而不仅仅是
...implements B
?
【问题讨论】:
-
除了代码风格之外没有什么特别的原因。
-
查看现有的遮阳篷:*.com/questions/10839131/…
-
@PieterSchool 这个问题没有回答这个问题,OP 不是在问扩展与实现的区别,而是关于指定多个相互扩展的接口的风格差异。
-
当有多个默认值可用时,重新实现一个接口是否会改变将使用哪个默认实现?