List list = new ArrayList();和ArrayList list=new ArrayList();的区别
2016-06-17 09:55
381 查看
List是一个接口,而ArrayList 是一个类。 ArrayList 继承并实现了List。
List list = new
ArrayList();这句创建了一个ArrayList的对象后把上溯到了List。此时它是一个List对象了,有些ArrayList有但是
List没有的属性和方法,它就不能再用了。而ArrayList list=new
ArrayList();创建一对象则保留了ArrayList的所有属性。
为什么一般都使用 List list = new ArrayList() ,而不用 ArrayList alist = new ArrayList()呢?
问
题就在于List有多个实现类,如
LinkedList或者Vector等等,现在你用的是ArrayList,也许哪一天你需要换成其它的实现类呢?,这时你只要改变这一行就行
了:List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。假设你开始用 ArrayList
alist = new ArrayList(), 这下你有的改了,特别是如果你使用了 ArrayList特有的方法和属性。
,如果没有特别需求的话,最好使用List list = new LinkedList(); ,便于程序代码的重构. 这就是面向接口编程的好处
List list = new
ArrayList();这句创建了一个ArrayList的对象后把上溯到了List。此时它是一个List对象了,有些ArrayList有但是
List没有的属性和方法,它就不能再用了。而ArrayList list=new
ArrayList();创建一对象则保留了ArrayList的所有属性。
为什么一般都使用 List list = new ArrayList() ,而不用 ArrayList alist = new ArrayList()呢?
问
题就在于List有多个实现类,如
LinkedList或者Vector等等,现在你用的是ArrayList,也许哪一天你需要换成其它的实现类呢?,这时你只要改变这一行就行
了:List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。假设你开始用 ArrayList
alist = new ArrayList(), 这下你有的改了,特别是如果你使用了 ArrayList特有的方法和属性。
,如果没有特别需求的话,最好使用List list = new LinkedList(); ,便于程序代码的重构. 这就是面向接口编程的好处
相关文章推荐
- function format_number(srcNumber, n) {
- [Android官方Demo系列] PageTransformer潜藏滑动
- 直播流资料FMS
- 动静分离 ( 大白话 )
- Ol3中Map事件全解析
- MySQL数据导出
- Android消息传递之组件间传递消息(二)
- iPad知识点记录
- 分布式调度框架TBSchedule源码解析
- unix select() 任务调度机制分析
- 一份React-Native学习指南
- DSP中浮点转定点运算--浮点数的存储格式
- fatal error LNK1120: 1 个无法解析的外部命令
- Android Dialog
- 基于maven的springMvc+Mybatis,搭建项目的时候发现一些问题这里例举下
- swift2.0 学习笔记Sixteen
- java实现简单五子棋
- 在js文件中动态设置class方法
- 安卓手机开发工具airdroid介绍
- android应用程序第12课:RelativeLayout