java中的接口list

我写简单点吧,我就想问下listlist=newArrayList();这样写有什么好处,为什么不直接ArrayListlist=newArrayList();呢?请高手... 我写简单点吧,我就想问下list list = new ArrayList();这样写有什么好处,为什么不直接ArrayList list = new ArrayList();呢?请高手帮忙解决。谢谢。 展开
 我来答
tomiscat2009
2009-04-19 · TA获得超过2434个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:538万
展开全部
这么写是为了以后扩展的方便。List list = new ArrayList();的话,这个list就只能使用List接口的方法了;ArrayList list = new ArrayList();的话,这个list除了能使用List接口的方法外,还能使用ArrayList特有的方法。但是,如果有一天,在原来那个程序里,ArrayList满足不了你的要求了,你要换成OtherList才能实现需求,而且,你还在原来的程序里使用了ArrayList特有的方法,那么此时,你就要大量修改你原来的代码了,甚至重新写一个程序,这就是不易维护!!所以一开始时,你就是这样定义的话List list = new ArrayList();要换成OtherList就只需改一个地方:List list = new OtherList();虽然,你只能用List接口的方法,但当需求发生改变时容易维护啊!!随便的软件,随便就上万行代码,这改起来不得了啊!!!
书荒莫慌
2009-04-19 · TA获得超过2972个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:535万
展开全部
java方很流行的话:面向接口编程!(IOP)

List只是个接口,ArrayList,LinkedList,Vector等是实现他的类,如果你ArrayList list = new ArrayList();那么就限定死为ArrayList了,如果来了一个LinkedList就没法了。
但是如果用List创建对象的话,只要是实现过他的类,都可以实例化对象,所以方便扩展。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gwx820816
2009-04-19 · TA获得超过472个赞
知道小有建树答主
回答量:864
采纳率:0%
帮助的人:0
展开全部
没区别吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忆天_sky
2009-04-19 · TA获得超过1077个赞
知道小有建树答主
回答量:1592
采纳率:0%
帮助的人:464万
展开全部
List是接口,而ArrayList是他的一个实现类。这样说你应该知道有什么区别的了吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式