Dän*_*änu 7 java design-patterns
以下是否可以?(请记住,我没有编写类的主体,我也没有编写接口;-))
abstract class SuperClass implements SuperInterface
class SubClass extends SuperClass implements SubInterface
Run Code Online (Sandbox Code Playgroud)
或者这通常被认为是不好的做法?
令我惊讶的是,以下不起作用:
List<SubInterface> myList;
...
for(SuperInterface si : myList) {
...
}
Run Code Online (Sandbox Code Playgroud)
Mch*_*chl 10
这既不好也不坏.SubClass这里实现了两者SuperInterface和SubInterface(以及SuperClass'公共方法定义的接口).如果这就是你需要的 - 那没关系.
至于你的第二个例子
List<SubInterface> myList;
...
for(SuperInterface si : myList) {
...
}
Run Code Online (Sandbox Code Playgroud)
您声明了SubInterface元素列表,但想要从中获取SuperInterface元素.如果SubInterface延伸,SuperInterface那么这有一定意义.否则不是.