让我解释一下我要在此构造函数中实现的目标。如您所见,我有3个构造函数,要获取每个构造函数的输出,我必须创建3个对象。是否可以通过仅创建1个对象而不是创建3个对象来获取所有3个构造函数的输出来获得3个输出?如果不可能的话,请有人解释为什么不这样做或是否有可能,然后告诉我如何完成。谢谢
public class Op{
public Op(String a){
System.out.println("Default");
}
public Op(String a, int b){
System.out.println("String and Int");
}
public Op(String a, String c, int b){
System.out.println("String, String & Int");
}
public static void main(String args[]){
Op d1 = new Op("lol");
Op d2 = new Op("Hi",21);
Op d3 = new Op("Bye","Cube",47);
}
}
答案 0 :(得分:2)
您可以使用this(...)
public class Op {
public Op(String a) {
System.out.println("Default");
}
public Op(String a, int b) {
this(a);
System.out.println("String and Int");
}
public Op(String a, String c, int b) {
this(a, b);
System.out.println("String, String & Int");
}
public static void main(String args[]) {
Op d3 = new Op("Bye", "Cube", 47);
}
}
输出为
Default
String and Int
String, String & Int
您也可以采用另一种方法,也可以调用super(...)
构造函数来调用超类的构造函数之一
答案 1 :(得分:0)
使用构造函数链接。.
公共类Op {
Project > Quick Switch Project
}