通常声明类型是接口类型,初始化部分具有实现类型。 List<String> list = new ArrayList<String>
和ArrayList<String> list = new ArrayList<String>
之间的差异是什么?多态性有什么区别?
答案 0 :(得分:1)
没有重要的区别。但如果你使用这样的东西
void doSomething(List list)
{}
你可以使用扩展List类的任何对象,但是如果你使用这样的东西 void doSomething(ArrayList list) {} 您只能使用ArrayList对象及其子类。
答案 1 :(得分:0)
List是一个接口,ArrayList是它的implimentation类。 我们不能创建接口对象因为它们是抽象的但我们可以创建接口的引用,它只是List列表。 使用此引用,我们可以调用ArrayList的方法。