List<String> list = new ArrayList<String>();
在识别除超类和子类之外的部分时,List和ArrayList是什么?
List是引用而ArrayList是类吗?
如果它们是相同的,它们会被称为其他东西吗?
ArrayList<String> list = new ArrayList<String>();
答案 0 :(得分:1)
List
是一个界面。 ArrayList
是它的一个实现。它们都不是另一个的超类或子类。
答案 1 :(得分:1)
本声明分为三部分:
list
)List<String>
)ArrayList<String>
)无论您如何修改编译时类型,每个部分都会保留其角色。
List
是一个界面; ArrayList
是该接口的实现。
答案 2 :(得分:0)
在第一个示例中,List
是定义对象list
的引用类型的接口,ArrayList
是接口的实现,它是实际对象的类型。
在第二个示例中,对象及其引用都具有类型ArrayList
答案 3 :(得分:0)
差异:
List
的方法。多态性存在于此。ArrayList
类的方法。第一个的优点:
即使您将实施更改为:
List<String> list = new LinkedList<String>();
或
List<String> list = new Vector<String>();
你不能改变你的代码。