为了账号安全,请及时绑定邮箱和手机立即绑定

List course = new ArrayList();为什么用List?

为什么一般老师在视频里用List course = new ArrayList();而不是ArrayList course = new ArrayList();?

正在回答

2 回答

为什么是List list = new ArrayList(),而不直接用ArrayList 

编程是要面向对象编程,针对抽象(接口),而非具体

 List 是接口,ArrayList是实现

 实现List接口的有ArrayListLinkedListVector等,所以用哪个就直new 一个接口实现这是一种很好的设计模式.

一个接口有多种实现,这种写法是java面向对象的一种思想,依赖倒置原则,

即依赖于抽象不依赖于实现(具体)

 给调用者提供的应该是接口或者抽象类,而实现者可以实现或者继承接口或者抽象类来满足调用者,

这样调用者不必知道实现者怎样操作,实现者也可以根据具体情况去实现,这样去除了耦合。这就是java设计模式的基础思想之一。

 Java语法上,这种方式是使用接口引用指向具体实现,这样大大提高了代码使用的灵活性。

 比如,你若希望用LinkedList的实现来替代ArrayList的话,只需改动一行即可:

  List   list   =   new   LinkedList()

  而程序中的其它部分不需要改动,这样比较灵活,不会失去通用性。

以上文字来自: https://wenku.baidu.com/view/7c6cda3510661ed9ad51f343.html


0 回复 有任何疑惑可以回复我~
#1

某向阳 提问者

虽然不是很懂,但还是谢谢你
2017-04-09 回复 有任何疑惑可以回复我~
#2

Gir非碼農 回复 某向阳 提问者

简单地说就是你说的和老师说的,都可以。但是老师的想法呢,可扩展性更强。List是个接口嘛,接哪个集合都可以,要是换成ArrayList就只是这一个集合了
2017-04-09 回复 有任何疑惑可以回复我~

List是个集合接口

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

List course = new ArrayList();为什么用List?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信