interface A {
public void doSomething();
}
interface B extends A {
public void doSomethingElse();
}
public class AClass implements A, B {
public void doSomething() {}
public void doSomethingElse() {}
}
Run Code Online (Sandbox Code Playgroud)
为什么Java允许这样的声明?通过实现SubInterface(B)可以实现同样的事情,实现两个接口的用途是什么?
我认为“为什么”的问题只能由 Java 设计者来回答。
一个原因可能是它允许extends A在B不破坏任何已经碰巧实现了两者的现有类的情况下进行改造。
使用此构造的另一个原因可能是让最终用户立即清楚AClass该类同时实现A和B。这在 ArrayList.java 中 List 接口的冗余实现中讨论
| 归档时间: |
|
| 查看次数: |
3790 次 |
| 最近记录: |