以下可以吗? (请记住,我没有编写类的主体,也没有编写接口(interface);-))

abstract class SuperClass implements SuperInterface

class SubClass extends SuperClass implements SubInterface

或者这通常被认为是不好的做法?

让我想知道的是,以下不起作用:
List<SubInterface> myList;
...
for(SuperInterface si : myList) {
    ...
}

最佳答案

这既不好也不坏。此处的SubClass同时实现了SuperInterfaceSubInterface(以及SuperClass的public方法定义的接口(interface))。如果这就是你所需要的 - 那很好。

至于你的第二个例子

List<SubInterface> myList;
...
for(SuperInterface si : myList) {
    ...
}

您声明了 SubInterface 元素列表,但想要从中获取 SuperInterface 元素。如果 SubInterface 扩展 SuperInterface 那么这有一定的意义。否则不行。

关于java - 父类(super class)和子类都有自己的接口(interface),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8927374/

10-11 14:36