我有一个名为Car的超类,有3个子类.
class Ford extends Car{
}
class Chevrolet extends Car{
}
class Audi extends Car{
}
Run Code Online (Sandbox Code Playgroud)
现在我有一个函数printMessge(Car car),它将打印一个特定汽车类型的消息.在实现中,我使用if语句来测试这样的类的实例.
public int printMessge(Car car){
if((Ford)car instanceof Ford){
// print ford
}else if((Chevrolet)car instanceof Chevrolet){
// print chevrolet
}else if((Audi)car instanceof Audi){
// print Audi
}
}
Run Code Online (Sandbox Code Playgroud)
例如,如果我第一次用福特打电话给它printMessge(new Ford()),它打印福特消息但是当我打电话给它时printMessge(new Chevrolet()),我 从第一个if语句中得到EXCEPTION,表示雪佛兰不能投给福特.
我做错了什么,最好的方法是什么.
谢谢
java ×1