Java"构造函数未定义",但确实如此

时间:2018-05-17 08:24:25

标签: java constructor

我有一个类,PriorityTables,我为其定义了一个空的默认构造函数和一个接受2个字符串作为参数的构造函数,如下所示。

public class PriorityTable {

   public void PriorityTable(){...}

   public void PriorityTable(String letters, String level){
        PriorityTable(); //Initialize to zero/null, then change values as needed
        ....}
}

PriorityTable pTable = new PriorityTable(s, startExp); //s & startExp being String obj 

该类中没有错误,并且在添加最后一个语句之前项目中的其他地方没有错误。然而,当我尝试使用2 String构造函数创建PriorityTable对象时,我得到错误,指出PriorityTable(String,String)未定义,但我不明白为什么。我认为错误可能与调用(String,String)构造函数中的默认构造函数有关,但是在注释掉嵌套的默认构造函数调用之后错误仍然存​​在。当我看到定义时,被告知它没有被定义,真是奇怪。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

构造函数不应该有返回类型,因此请从构造函数中删除void返回类型:

public class PriorityTable {

   public PriorityTable(){...}

   public PriorityTable(String letters, String level){
        PriorityTable(); //Initialize to zero/null, then change values as needed
        ....}
}