ArrayList list=new ArrayList(); List list1=new ArrayList();这两种写法有什么区别?各有什么特点优劣
时间: 2024-04-28 15:24:57 浏览: 94
ArrayList和Linkedlist1
这两种写法有一些区别:
1. `ArrayList list = new ArrayList();` 这种写法使用了具体的类 `ArrayList` 声明了变量 `list`,并且使用了具体的类 `ArrayList` 来实例化对象。这样做的好处是可以直接使用 `ArrayList` 类的特有方法和属性,但缺点是如果后续需要更换实现类,如改用 LinkedList,那么需要修改代码。
2. `List list1 = new ArrayList();` 这种写法使用了接口 `List` 声明了变量 `list1`,并且使用了具体的类 `ArrayList` 来实例化对象。这样做的好处是可以方便地更换实现类,只需要修改实例化部分的代码即可,不需要修改其他地方的代码。这种方式更加灵活,符合面向接口编程的思想。
综上所述,第一种写法适用于确定只会使用 `ArrayList` 类特有方法和属性的场景,而第二种写法适用于可能需要更换实现类的场景。
阅读全文