好了,所以我知道Set,List并且Map是接口,但是是什么让的第一行代码的任何好于第二行?
Set
List
Map
List myArr = new ArrayList(); ArrayList myArr = new ArrayList();
如果你使用第一种形式,则是说你将要使用的只是List接口的功能-别无其他,尤其是它的任何实现都没有增加任何额外的内容。这意味着你可以很容易地改变所使用的实现(例如,刚刚替补LinkedList用于ArrayList在实例化),而不用担心它打破了代码的其余部分,因为你可能已经使用一些特定的ArrayList。
LinkedList
ArrayList