Java新列表实例化约定

时间:2015-12-10 23:21:09

标签: java arraylist instantiation

我一直想知道我在很多代码中看到的这种类型的java实例化的好处是什么

List<Object> objList = new ArrayList<Object>();

而不是

ArrayList<Object> objList = new ArrayList<Object>();

两者都是实例化Java ArrayList对象的有效方法,但为什么要使用第一个?

为什么objList应该作为接口而不是实现它的实际类?这有什么用处?

另外,在编译器级别,当我们调用特定于ArrayList而不是接口List的objList上的方法时,粗略地说,当objList仅作为通用obj进行转换时,编译器如何“知道”该方法属于ArrayList。这是一个实现List的 some 类的实例?

0 个答案:

没有答案