在eclipese中按F2聚焦,瞄准,piang~喵呜,咱们来看看List和ArrayList的真身
起源于两句代码
private List<View> list;
list=new ArrayList<View> ();
的困惑,List的定义,为什么是ArrayList的初始化
F2聚焦List查看出现以下信息,发现List是一个接口
java.util.List<View>
A List is a collection which maintains an ordering for its elements. Every element in the List has an index. Each element can thus be accessed by its index, with the first index being zero. Normally, Lists allow duplicate elements, as compared to Sets, where elements have to be unique.
F2聚焦ArrayLis查看并点击详情,发现ArrayList是实现了List接口的一个类
public class java.util.ArrayList extends java.util.AbstractList implements java.util.List , java.util.RandomAccess, java.lang.Cloneable, java.io.Serializable {
.......
}
这样确实能解释实例化接口的类初始化list了,List是一个接口,而ArrayList是一个类。
ArrayList继承并实现了List。所以List不能被构造,但可以向上面那样为List创建一个引用,而ArrayList就可以被构造。
其中附带的的<View>是泛型