java - 什么是 “the Interface” 以及如何对 “Against” 进行编程?

标签 java interface

ArrayList<Class> name = new ArrayList<Class>(#)

昨天有人告诉我,这样的做法是不好的做法,我应该“针对界面”进行编程,如下所示:

List<Class> name = new ArrayList<Class>(#)

他的意思是什么?

最佳答案

ArrayList 实现 List。因此,出于多种原因,最好使用 List。例如,如果您希望将来更改列表的类型(例如您决定使用 LinkedListStackVector) ,您只需更改分配的右侧,其余代码即可正常工作,无需更改。

关于java - 什么是 “the Interface” 以及如何对 “Against” 进行编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14158633/

相关文章:

java - 如何在数组中设置 double 类型的值

c# - 接口(interface)的隐式和显式实现

iphone - 我是否必须先分配 IB 中内置的 UIView,然后才能以模态方式显示它?

c# - 是否可以消除由于接口(interface)引起的 DLL 依赖?

java - Google App Engine 低级 api - 将自定义对象保存为 Blob?

java - 对同一类别的两个对象应用两组不同的利率

java - Jsoup 解析包含 span 标签的 HTML

java - 如何在jsp中使用enumset.contains?

oop - 在 OOP 中,接口(interface)在不同上下文中的不同含义是什么?

css - 从右到左语言的有效 CSS 布局切换