List<SomeObject> myList = new ArrayList<SomeObject>();
ArrayList<SomeObject> myList = new ArrayList<SomeObject>();
这两个实例有什么区别?
萧十郎
浏览 1314回答 3
3回答
POPMUISE
两个示例中的列表实现之间没有区别。但是,您可以在代码中进一步使用变量myList。将列表定义为:List myList = new ArrayList();您只能调用List接口中定义的方法和引用成员。如果您将其定义为:ArrayList myList = new ArrayList();除了那些定义从List继承的成员之外,您还可以调用特定于ArrayList的方法并使用特定于ArrayList的成员。然而,当您在第一个示例中调用List接口的方法(在ArrayList中实现)时,将调用ArrayList中的方法(因为List接口不实现任何方法)。这就是所谓的多态性。你可以阅读它。