class Persona{
int age;
String name;
Persona(int age){
this.age=age;
System.out.println("love");
}
Persona(String name,int age){
this(age); //this语句,用于构造函数间,进行互相调用
this.name=name;
}
}
class PersonaDemo{
public static void main(String[] args){
Persona p=new Persona("yogurt",20);//先调用构造函数Persona(String name,int age),此构造函数里的this(age),即p(age),又调用了Persona(int age)这个构造函数
System.out.println(p.name+" "+p.age);
}
}
/*
代码运行结果:
love
yogurt 20
*/
//这种this语句用于构造函数间的调用出现的场景:构造函数有很多,但对外提供的却不多,这时用this语句,使少量的构造函数暴露。
//this调用只能放在构造函数中的第一行(因为初始化动作总是要先执行,如果初始化里还有更细的初始化,则从最小粒度的初始化开始,先执行)。