以下可以吗? (请记住,我没有编写类的主体,也没有编写接口(interface);-))
abstract class SuperClass implements SuperInterface
class SubClass extends SuperClass implements SubInterface
或者这通常被认为是不好的做法?
让我想知道的是,以下不起作用:
List<SubInterface> myList;
...
for(SuperInterface si : myList) {
...
}
最佳答案
这既不好也不坏。此处的SubClass
同时实现了SuperInterface
和SubInterface
(以及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/