关于new集合对象的问题

大佬们,Collection list=new ArrayList();和ArrayList list=new ArrayList();有什么区别,,谢谢大佬们,希望大佬们给点建议,,非常感谢

ArrayList 实现了List接口 List接口继承了 Collection接口,建议看看继承与多态

前者可以使用ArrayList中Collection 定义的公共方法的实现、后者何以使用ArrayList的所有实现方法。

两者是相同的对象,但是前者返回的是Collection类型后者是ArrayList类型。
不同的类型,只能直接调用(不通过类型转换/反射等间接方式)属于这个类定义的方法/属性。
比如Collection没有根据下标得到对象的方法的话,前者就不能直接调用它。

看这张图你就懂了图片说明