this 关键字
当成员变量和局部变量重名,用关键字this来区分。
举例:
Person ( String name)
name = name ;
此时的成员变量和局部变量重名,当对象调用构造函数的引起混乱,出现错误,所以用关键字this来区分。
this :代表当前的对象;
this就是所在函数所属对象的引用,也就是哪个对象调用了this所在的 函数,this就代表哪个对象。
举例:
class Person
{
private String name;
private int age;
Person()
{
name = "baby";
age = 1;
System.out.println("person run");
}
Person(String name)
{
this();
this.name = name;
}
Person(String name)
{
this.name = name;
}
Person(String name,int age)
{
this.name = name;
this.age = age;
}
public void speak()
{
System.out.println(this.name+":"+this.age);
}
}
class ThisDemo
{
public static void main(String[] args)
{
Person p = new Person("旺财",30);
p.speak();
Person p1 = new Person("小强");
p1.speak();
}
}
注意
this 也可以用在构造函数中调用其他构造函数;
只能定义在构造函数的第一行,因为初始化动作要先执行