如何强制所有汽车
都应配备特定类型的轮胎
?我正在使用 Java 1.3(适用于移动设备),因此无法使用泛型。
abstract class Car{
private Tyre[] tyres;
protected Car(){
tyres = createTyres();
}
protected abstract Tyre[] createTyres();
public Tyre[] getTyres(){
return tyres;
}
}
abstract class Tyre{}
//Concrete classes
class SlickTyre extends Tyre{}
class RacingCar extends Car {
public RacingCar(){
}
protected SlickTyre[] createTyres(){
return new SlickTyre[]{};
}
public SlickTyre[] getTyres(){
//this won't compile as it overrides the parent return type
}
最佳答案
不幸的是,covariant return type仅从java5添加到java中。旧版本[例如 1.3] 不需要方差返回类型。
您可以在this article中阅读更多相关信息。
关于java - 如何改变重写方法的返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9320562/