【发布时间】:2020-01-18 02:35:16
【问题描述】:
我正在尝试创建一个类 Mammals 扩展抽象类 Animals,它可以从 main 方法调用,其中 int 确定 String 物种包含的内容。但是,整数不会以任何方式影响下面我的代码中的字符串,因为对超级构造函数的调用必须是子类构造函数中的第一条语句。如何使用“实际”字符串再次调用超级构造函数?我已经尝试在子类中创建一个重载的构造函数并首先调用它,但这似乎不起作用。
public abstract class Animals {
protected String species;
public Animals(String species) {
this.species = species;
}
}
class Mammals extends Animals{
static String species;
public Mammals(int speciesNumber) {
super(species);
if(colorNumber == 0){
species = "Dog";
}
else if(speciesNumber == 1){
species = "Cat";
}
else if(speciesNumber > 1){
species = "Horse";
}
}
}
【问题讨论】:
标签: java inheritance subclass