我需要这个示例的五年级解释:

Car x = new Ford();


为什么FordCar

最佳答案

在您的示例中,x是类型为FordCar。这看起来像一个继承的例子。 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()

09-30 17:54