gpt4 book ai didi

java 。隐式 super 构造函数 Settore() 未定义。必须显式调用另一个构造函数

转载 作者:行者123 更新时间:2023-12-01 11:32:13 25 4
gpt4 key购买 nike

当我从 Settore 类创建子类 Alieni 时,我收到错误“隐式 super 构造函数 Settore() 未定义。必须显式调用另一个构造函数”,我看过类似的问题,给出的答案是放置一个我的 Settore 类中的默认构造函数,我已经完成了,但仍然遇到相同的错误

public class Settore {
private Nome settoreNome;
private char letteraX;
private final int coordinataX;
private final int coordinataY;
private int giocatoriPresenti;


public static void main(String[] args) {
// TODO Auto-generated method stub

}
public int getGiocatoriPresenti() {
return giocatoriPresenti;
}
public void setGiocatoriPresenti(int giocatoriPresenti) {
this.giocatoriPresenti = giocatoriPresenti;
}
public char getLetteraX() {
return letteraX;
}

public void setLetteraX(char letteraX){
this.letteraX = letteraX;
}

public Settore (){}//suggestion given, still doesn't fix the problem, it just makes it worse
public Settore (int coordinataX, int coordinataY){
char myChar =letteraX;
int i=(int)myChar;
this.coordinataX=i-97;
this.coordinataY=coordinataY-1;
}
public int getX(){
return coordinataX;
}
public int getY(){
return coordinataY;
}
public Nome getSettoreNome() {
return settoreNome;
}
public void setSettoreNome(Nome settoreNome) {
this.settoreNome = settoreNome;
}
}
public enum Nome {
SICURO, PERICOLOSO, SCIALUPPA, ALIENI, UMANI
}


public class Alieni extends Settore {

public Alieni() {//this is where i get the error Implicit super constructor Settore() is undefined. must explicitly invoke another constructor

setSettoreNome(Nome.ALIENI);
}

}

最佳答案

即使您添加默认构造函数,它也会显示错误,因为您声明的最终变量应该具有一些值。它们应该在默认构造函数中分配值,如下所示:

 public Settore (){
coordinataX=5;
coordinataY=22;
}

另一种方式,如果您想使用已声明的参数化构造函数:

          public Alieni() 
{
super(5,6); //call to super class constructor
setSettoreNome(Nome.ALIENI);
}

关于 java 。隐式 super 构造函数 Settore() 未定义。必须显式调用另一个构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30302949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com