我即将参加我的第一门面向对象编程课的期末考试,但我仍然对多态性的概念有些不了解。
假设我有一个抽象类“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/