这个问题在这里已经有了答案:
How do I call one constructor from another in Java?
(23 个回答)
7年前关闭。
我想在创建单个对象的同时执行多个构造函数。例如,我有一个这样的类定义-
public class Prg
{
public Prg()
{
System.out.println("In default constructor");
}
public Prg(int a)
{
System.out.println("In single parameter constructor");
}
public Prg(int b, int c)
{
System.out.println("In multiple parameter constructor");
}
}
我正在尝试通过以下代码来实现它 -
public class Prg
{
public Prg()
{
System.out.println("In default constructor");
}
public Prg(int a)
{
Prg();
System.out.println("In single parameter constructor");
}
public Prg(int b, int c)
{
Prg(b);
System.out.println("In multiple parameter constructor");
}
public static void main(String s[])
{
Prg obj = new Prg(10, 20);
}
}
但在这种情况下,它会产生如下错误 -
Prg.java:11: error: cannot find symbol
Prg();
^
symbol: method Prg()
location: class Prg
Prg.java:16: error: cannot find symbol
Prg(b);
^
symbol: method Prg(int)
location: class Prg
2 errors
谢谢
最佳答案
在构造函数中使用 this()
而不是 Prg()
关于java - 创建单个对象时如何执行多个构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18999635/