为什么大家在编程的时候习惯写List list = new ArrayList()而不是ArrayList list = new ArrayList()呢?
因为List是一个接口,ArrayList是其中的一个实现类。
问题就在于List有多个实现类,如
LinkedList或者Vector等等,现在你用的是ArrayList,也许哪一天你需要换成其它的实现类呢?这时你只要改变这一行就行
了:List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。假设你开始用 ArrayList
alist = new ArrayList(), 这下你有的改了,特别是如果你使用了 ArrayList特有的方法和属性。
但是用ArrayList list = new ArrayList()可以用子类中特有的方法,而List list = new LinkedList()不可以!所以根据需要来决定用哪个。
本文探讨了在Java编程中,使用List接口与ArrayList实现类的区别。解释了List作为接口,提供更灵活的代码实现方式,便于未来可能的实现类更换;而ArrayList作为具体实现,提供了更多特定的方法。根据实际需求选择合适的使用方式。
605

被折叠的 条评论
为什么被折叠?



