public class Test{
public void Test(String name){};
public static void main()
{
Test t=new Test("right");
}
}
以上代码在编译时存在错误,请问有谁能告诉我如何在Java中使用带参数的构造函数?
public class Test{
public void Test(String name){};
public static void main()
{
Test t=new Test("right");
}
}
以上代码在编译时存在错误,请问有谁能告诉我如何在Java中使用带参数的构造函数?
没有带参数的构造函数:
public void Test(String name){}; //method with Test name
public Test(String name){}; //constructor
public static void main()
应该改为 public static void main(String[] args)
,这是默认规定。
正确版本如下
public class Test{
public Test(String name){};
public static void main(String args [])
{
Test t=new Test("right");
}
}
你的错误在于如何定义构造函数。构造函数没有返回类型。
public class Test{
public Test(String name){};
public static void main()
{
Test t=new Test("right");
}
}
public class Test{
private String name;
public Test(String name){ this.name = name; };
public static void main(String [] args)
{
for (String arg : args) {
Test t=new Test(arg);
}
}
}
构造函数也是没有返回类型(void或其他返回类型)的方法
。由于您定义了类似于构造函数但具有返回类型的方法,编译器将其视为方法,并且不会对此进行抱怨,但是当您尝试使用参数构造函数实例化类时,它会失败,因为它无法找到该类型的构造函数。如果没有显式构造函数定义,Java编译器将自动使用默认构造函数,即无参数构造函数。此外,您的主要方法应该具有String[] args
作为参数。