JAVA中List泛型和ArrayList泛型的关系和区别

2024-12-31 12:58:44
推荐回答(4个)
回答1:

List是一个接口 ArrayList是LIst接口下的一个实现类
List list = new ArrayList();
子类的对象动态的指向父类
这样的好处是
ArrayLIst可以随便改变实现类 而list对象不用变
比如
List list=new LinkedList();

回答2:

没关系,运行时动态绑定自动变成了ArrayList

回答3:

ArrayList实现了(而不是继承了)List接口。

List list = new ArrayList();这样的用法很多,表示下面我只需要list是一个List接口的对象就可以了,不在乎它的实现是什么,但是你要取得一个实例就得具体写new ArrayList()。

这样写的好处是,下面你只会用到List里的方法,不会不小心用到ArrayList里特有的方法,否则编译就会报错。有朝一日你对ArrayList这个具体实现不满意了,想换一个实现,比如LinkedList或干脆自己写个实现,你只要换= new ...那行就可以了。

回答4:

这种写法和泛型没有关系. 是面向接口编程(一种面向对象编程原则).
可以到google查一下(面向接口编程), 这方面资料很多的.