如果是,请让我知道集合如何利用多态概念
答案 0 :(得分:4)
java.util.Collection
是一个界面; java.util.List
也是如此。所以,当你有
class X {
List<String> list;
}
并在其他地方有一个方法
void readX(X x) {
x.list.add("you");
}
您正在使用多态性原则,该原则将调用方法Collection#add
的适当实现。
答案 1 :(得分:2)
集合确实是多态的:Java中的所有集合类都实现了一个或多个 interfaces ,如果你编程到集合的接口,就可以交换一个新的实现。
例如,如果您定义并使用
List<Integer> myList = new ArrayList<Integer>();
你可以用
替换它List<Integer> myList = new LinkedList<Integer>();
并且其余代码不需要更改。当然,如果您尝试访问链接列表中间的元素,则会有时间问题。