this可用于区分局部变量和成员变量,因为构造函数中如果使用 this.成员变量 = 参数值,
那么可以在new对象时,将初始化值赋值给成员变量,否则成员变量赋值失败,
所以this可以区分成员变量和局部变量
class person { private String name; person(String name) { name = name;//此时成员变量name的值是默认的null,赋值的是局部变量给自己赋值 } person(String n) { name = n;//此时成员变量赋值成功 } //在赋值时,如果参数名和成员变量名相同,则先找局部变量进行赋值,如果不同,则找成员变量,如果赋值的对象不是成员变量,也不是参数名,则报错 person(String name) { this.name = name;//正常赋值 } }
this特点:哪个对象在调用this所在的函数,this就代表哪个对象,即this其实就是指带的new出来的特定对象
在构造函数中调用其他构造函数使用:this(要调用的构造函数参数列表); 且this()语句要放在调用其他构造函数的构造函数的第一行。