【发布时间】:2010-07-28 18:23:13
【问题描述】:
我研究了多态性,了解到它可以像下面那样进行动态方法绑定。
假设类 Animal 是抽象类。
public class AnimalReference
{
public static void main(String args[])
Animal ref // set up var for an Animal
Cow aCow = new Cow("Bossy"); // makes specific objects
Dog aDog = new Dog("Rover");
// now reference each as an Animal
ref = aCow; ref.speak();
ref = aDog; ref.speak();
}
我曾经创建过 ArrayList 的实例,例如:
ArrayList myList = new ArrayList();
但通常我认为人们会写:
Collection myList = new ArrayList();
所以我的困惑是声明为 Collection 有什么好处?另外我不知道你可以在“myList”前面有“Collection”(这是一个接口而不是抽象类)。
为什么只说是不好的做法:
ArrayList myList = new ArrayList();
我阅读了 Collection 接口和 ArrayList Java 文档以及在线教程,但仍然不是很清楚.. 谁能给我一些解释?
【问题讨论】:
标签: java polymorphism