[英]Constructor call must be the first statement in a constructor in super()
[英]Zebra.java:3: error: call to super must be first statement in constructor
所以我遇到了这个问题,super(); 是方法的第一件事,我对什么地方不对感到困惑。 我仍然是类的新手,据我所知,Super基本上称为Superclass,然后Zebra类是该超类的子类。 那么调用Super()应该可以吗?
public abstract class Animal{
private int hunger;
public void hungryAnimal(int hunger){
hunger = 0;
}
public int getHunger(){
return this.hunger;
}
abstract void talk();
public class Zebra extends Animal{
public void hungryZebra(){
super();
}
public void talk(){
System.out.println("Zebra quitly chews.");
}
}
我认为您想要的是:
public abstract class Animal {
private int hunger;
public Animal() {
this(0);
}
public Animal(int hunger) {
this.hunger = hunger;
}
public int getHunger(){
return this.hunger;
}
abstract void talk();
}
通过这样的Zebra实现:
public class Zebra extends Animal {
public Zebra(int hunger){
super(hunger);
}
public void talk(){
System.out.println("Zebra quitly chews.");
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.