【发布时间】:2020-06-05 11:54:01
【问题描述】:
我目前正在研究蝴蝶课程。以下是我目前所拥有的。
package nuisance;
import java.util.List;
/**
* @author brand
*
*/
public class Butterfly extends Insect {
private List<String> colors;
/**
* @param species
*/
public Butterfly(String species, List<String> colors) {
super(species);
this.colors = colors;
}
public Butterfly(Butterfly butterfly) {
this.butterfly = butterfly;
}
我遇到的问题是在第二个构造函数中,它应该基于现有的蝴蝶对象初始化字段。我觉得我写得对,但我收到以下错误:
隐式超级构造函数 Insect() 未定义。必须显式调用另一个构造函数。
我对此进行了一些研究,但似乎无法弄清楚如何解决此问题。任何帮助将不胜感激!
提前谢谢你。
【问题讨论】:
-
如果你没有明确地调用 super,你会得到一个对 super 插入的调用。如果超类没有无参数构造函数,这不起作用。 this.butterfly 也不是实例成员。
标签: java class object constructor