当我尝试编写包含main()
的类时,为什么会出现此错误?
Driver.java:7: error: constructor NameParser in class NameParser cannot be applied to given types; NameParser nameParser = new NameParser(args[0], args[1]);
required: no arguments
found: String,String
reason: actual and formal argument lists differ in length
import parsing.*;
public class Driver {
public static void main(String args[]) {
NameParser nameParser = new NameParser(args[0], args[1]);
}
}
package parsing;
public class NameParser {
public static void NameParser(String nameTable, String tokenTable) {
.
.
}
}
答案 0 :(得分:1)
你的构造函数不正确,应该是
public NameParser(String nameTable, String tokenTable) {
.
.
}
答案 1 :(得分:1)
构造函数没有返回类型。你的构造函数应该是:
public NameParser(String nameTable, String tokenTable) {
}
您尝试定义的那个实际上是一个static
方法(类方法),因为static
修饰符和返回类型{{1} }(这意味着它不会返回任何内容)。
另外,你得到的错误是因为在行
void
您正在调用一个不存在参数NameParser nameParser = new NameParser(args[0], args[1]);
的构造函数。
答案 2 :(得分:1)
public static void NameParser(String nameTable, String tokenTable)
不是构造函数。它只是一个带有void
返回类型的静态方法。
您应该按如下方式定义构造函数:
public NameParser(String nameTable, String tokenTable)
答案 3 :(得分:0)
构造函数不应该有返回类型和 name应与类名相同。
在你的情况下
NameParser(String nameTable, String tokenTable)
{
//some logic will be here
}