我想从用流利的语法基类继承的方法:流利的语法和继承
class BaseModel {
int count;
public BaseModel setCount(int value){
this.count=value;
return this;
}
}
class FooModel extends BaseModel{
int age;
public FooModel setAge(int value){
this.age=value;
return this;
}
}
这段代码的问题是该行:
FooModel model= new FooModel().setCount(2).setAge(25);
使编译器抱怨,因为方法返回类型为而不是FooModel
。
是否有某种方法在父类中声明该方法以便子类返回正确的类型而无需手动覆盖每个子类中的方法?
class FooModel extends BaseModel{
int age;
public FooModel setAge(int value){
this.age=value;
return this;
}
@Override
public FooModel setCount(int value){
super.setCount(value);
return this;
}
}
感谢
我想说的仿制药。 – Blackbelt