我想知道为什么允许它具有不同类型的对象引用?
例如;
Animal cow = new Cow();
你能举一个例子,说明使用不同类型的对象引用是有用的吗?
编辑:
Cow extends Animal
最佳答案
这是多态和抽象的核心。例如,这意味着我可以写:
public void handleData(InputStream input) {
...
}
...并处理任何类型的输入流,无论是来自文件、网络、内存等。或者同样,如果您有一个
List<String>
,您可以要求它的元素 0 而不管实现等。将子类的实例视为父类(super class)的实例的能力称为 Liskov's Substitution Principle 。它允许松散耦合和代码重用。
另请阅读 Polymorphism part of the Java tutorial 以获取更多信息。
关于java - 为什么在 Java 中允许不同类型的对象引用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13640833/