我需要这个示例的五年级解释:
Car x = new Ford();
为什么
Ford
是Car
? 最佳答案
在您的示例中,x
是类型为Ford
的Car
。这看起来像一个继承的例子。 Car
是一个抽象类,包含所有汽车拥有的东西,例如车轮,引擎,车身类型等。Ford
将实现这些方法,因此它们专门针对Ford
所具有的东西。
简单的例子:
public abstract class Car {
public boolean isCar() {
return true;
}
}
public class Ford extends Car {
public boolean isFord() {
return true;
}
}
public class Audi extends Car {
public boolean isAudi() {
return true;
}
}
System.out.println("Is Ford a car ? "+new Ford().isCar());
System.out.println("Is Audi a car ? "+new Audi().isCar());
System.out.println("Is Ford a ford ? "+new Ford().isFord());
System.out.println("Is Audi a ford ? "+new Audi().isFord());
最后一行可能会给出NPE,因为类
Audi
没有函数isFord()
。