Java中List和ArrayList的区别

55 阅读1分钟

 List list;//正确,list = null; 

 List list = new List();//是错误的用法 

 List list = new ArrayList();这句创建了一个ArrayList实现类的对象后把它上溯到了List接口。此时它就是一个List对 象了,它有些ArrayList类具有的,但是List接口没有的属性和方法,它就不能再用了。 而ArrayList list=newArrayList(); 创建一对象则保留了ArrayList的所有属性和方法。 

 List a=new ArrayList(); 则a拥有List的所有属性和方法,不会拥有其实现类ArrayList的独有的属性和方法。 如果List与ArrayList中有相同的属性(如int i),有相同的方法(如void f()), 

 则a.i是调用了List中的i 

 a.f()是调用了ArrayList中的f();