List的这两个初始化有什么区别:
List<Integer> aa = new ArrayList<>();
ArrayList<Integer> aaa = new ArrayList<>();
答案 0 :(得分:0)
第一个使用polymorphism将对象分配给类型为interface List
的引用变量。这是首选。
在OOP中,最好将对象分配给最常用的超类或接口的变量。如果调用代码只需要List
中定义的方法,而不是ArrayList
中定义的其他方法,那么请使用List
。
这使您的代码可以自由切换到List
的其他实现,而不是ArrayList
,而不会破坏任何调用代码。
这是一个基本的Java 101概念,应该在Java教育中尽早掌握。