2 回答
![?](http://img1.sycdn.imooc.com/54586431000103bb02200220-100-100.jpg)
TA贡献1830条经验 获得超3个赞
演示多态性示例的最佳方法是编写一个接受基类参数的方法,并通过传递子类的对象来重用该方法。
例如 :-
public class Test{
public static void main(String[] args){
Car c = new Car();
checkCar(c);
c = new Ferrari();
checkCar(c);
c = new Honda();
checkCar(c);
}
public static void checkCar(Car c){
c.start();
}
}
class Car{
public void start(){
System.out.println("Car Starts");
}
};
class Ferrari extends Car{
public void start(){
System.out.println("Ferrari Starts");
}
};
class Honda extends Car{
public void start(){
System.out.println("Honda Starts");
}
};
![?](http://img1.sycdn.imooc.com/533e4cde000148e602000200-100-100.jpg)
TA贡献1895条经验 获得超7个赞
首先,您的示例很容易使用多态。正如上面的评论中提到的,您已经从基类调用了方法。您无需覆盖此方法即可在派生类中使用它们。
其次,您在 main 函数中使用派生类作为一种变量,因此您无法注意到多态是如何工作的。您应该改用基类 Car。
Car porche_car = new Porche("Porche 9/11",8,"black");
porche_car.startEngine(true); // uses method from Porsche class if overriden
添加回答
举报