【发布时间】:2013-10-04 08:36:00
【问题描述】:
在 Java 中使用集合时,建议使用接口而不是具体类型。
点赞:List<Object> list = new ArrayList<Object>();
但是,使用ArrayList<Object> list = new ArrayList<Object>(); 也可以完成同样的工作,对吧?
【问题讨论】:
-
原因是多态性
-
我在等这个爆炸:D
-
只是现实生活中的一个例子。我不得不使用动态代理来做一个解决方法(长篇大论),但正如你已经知道的那样,要制作动态代理,你必须使用接口。但是你猜,项目中的所有引用都是具体的类型引用。所以我不得不重构所有使用具体类型及其接口的方法。工作量不大,但教训是,为了面向对象编程,您必须使用接口,因为您永远不知道何时有人/您必须替换具体类型。
标签: java collections arraylist