JAVA中List泛型和ArrayList泛型的关系和区别

ArrayList不是继承List的吗?为什么我经常见到下面的用法?这是什么用法?List<UserVo>list=newArrayList<UserVo>();... ArrayList不是继承List的吗?为什么我经常见到下面的用法?这是什么用法?
List<UserVo> list = new ArrayList<UserVo>();
展开
 我来答
程序那点事
推荐于2017-11-25 · TA获得超过6140个赞
知道大有可为答主
回答量:3253
采纳率:59%
帮助的人:1304万
展开全部
List是一个接口 ArrayList是LIst接口下的一个实现类
List<UserVo> list = new ArrayList<UserVo>();
子类的对象动态的指向父类
这样的好处是
ArrayLIst可以随便改变实现类 而list对象不用变
比如
List<UserVo> list=new LinkedList<UserVo>();
雾里看花的过客
2012-08-28 · TA获得超过554个赞
知道小有建树答主
回答量:628
采纳率:100%
帮助的人:395万
展开全部
没关系,运行时动态绑定自动变成了ArrayList
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乌光QS
推荐于2018-09-08 · TA获得超过1365个赞
知道小有建树答主
回答量:464
采纳率:100%
帮助的人:442万
展开全部
ArrayList实现了(而不是继承了)List接口。

List<UserVo> list = new ArrayList<UserVo>();这样的用法很多,表示下面我只需要list是一个List<UserVo>接口的对象就可以了,不在乎它的实现是什么,但是你要取得一个实例就得具体写new ArrayList<UserVo>()。

这样写的好处是,下面你只会用到List里的方法,不会不小心用到ArrayList里特有的方法,否则编译就会报错。有朝一日你对ArrayList这个具体实现不满意了,想换一个实现,比如LinkedList或干脆自己写个实现,你只要换= new ...那行就可以了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx_8410
2012-08-27 · 超过11用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:31.3万
展开全部
这种写法和泛型没有关系. 是面向接口编程(一种面向对象编程原则).
可以到google查一下(面向接口编程), 这方面资料很多的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式