How to execute multiple constructor, when creating single object
本问题已经有最佳答案,请猛点这里访问。
我想在创建单个对象时执行多个构造函数。例如,我有这样的类定义-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
我试图通过以下代码来实现它-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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); } } |
但在这种情况下,它会产生如下错误-
1 2 3 4 5 6 7 8 9 10 11 | 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 |
谢谢
在构造函数中使用
用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public class Prg { public Prg() { System.out.println("In default constructor"); } public Prg(int a) { this(); System.out.println("In single parameter constructor"); } public Prg(int b, int c) { //Prg obj = new Prg(10, 20); this(b); System.out.println("In multiple parameter constructor"); } public static void main(String s[]) { Prg obj = new Prg(10, 20); } } |
您应该使用
例如
1 2 3 4 5 |
调用其他构造函数时,使用