java - 为什么我们在 Java 中使用接口(interface)引用类型?

标签 java polymorphism

我即将参加我的第一门面向对象编程课的期末考试,但我仍然对多态性的概念有些不了解。

假设我有一个抽象类“Vehicle”,这个类有一个名为“Aircraft”的子类。我的问题是,这两个代码有什么不同?

Aircraft Jetplane = new Aircraft();

Vehicle Jetplane = new Aircraft();

最佳答案

在第二种情况下,Jetplane 可以是从 Vehicle 继承的任何其他东西,而不仅仅是 Aircraft。例如,你可以有类似的东西

Vehicle veh = null;
if (someCondition)
    veh = new Aircraft();
else
    veh = new Boat();

在第一个示例中无法做到这一点,因为船不是飞机。

关于java - 为什么我们在 Java 中使用接口(interface)引用类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6643136/

相关文章:

c++ - 使用共享库中的多态对象安全吗?

c++ - 使用扩展的 sprite 类重载难度。这怎么错了?

Java, MongoDB : How to update every object while iterating a huge collection?

java - JPA/toplink 异构实体列表

haskell - 不寻常的种类和数据构造函数

java - 参数化方法的动态多态性

java - Cucumber-JVM 3 - 使用 asMap() 将 DataTable 转换为单个对象

java - 在java中,当我们只知道组件类时如何构造数组

c# - for循环中可能发生的事情

java - 如何编写java程序读取5个数字并计算有多少个数字的值是0-9