‘壹’ Java在父类中如何创建子类对象
你好,很高兴回答你的问题。
可以进行如下修改,将breed的实现移到抽象父类Animal中,略做修改,修改后代码如下
public Animal breed(){
Animal ret =null;
if(isBreedable() &&Math.random()<getValue()){
ret=getAnimal();
}
return ret;
}
父类Animal中增加如下两个抽象方法:
public abstract double getValue();
public abstract Animal getAnimal();
在Fox中不再需要实现breed,实现新定义的两个方法:
public abstract double getValue(){
return 0.5;
}
public abstract Animal getAnimal(){
return new Fox();
}
在Rabbit类中类似处理:
public abstract double getValue(){
return 0.12;
}
public abstract Animal getAnimal(){
return new Rabbit();
}
如果有帮助到你,请点击采纳。
我解答的大部分是软件开发新人遇到的问题,如果有兴趣可以关注我。