例如都声明为age。但是这样做又会导致成员变量和局部变量的名称冲突,在方法中将无法访问成员变量age。为了解决这个问题,Java中提供了一个关键字this来指代当前对象,用于在方法中访问对象的其它成员。
/*
* this 关键字
* 本类对象引用
*
*/
class Person{
private String name;
public Person(String name)
{
this.name = name; //用法一:避免成员变量和局部变量名冲突
}
public Person()
{
//int age;
this("Tom"); //用法二:无参构造方法调用有参构造方法,必须是第一条语句。
}
public void speak()
{
System.out.println("I'm "+name);
}
}
public class Example10 {
public static void main(String[] args) {
Person p1 = new Person("Jack");
Person p2 = new Person();
p1.speak();
p2.speak();
}
}