this关键字
- 代码演示:
public class Dog{
//默认0
private int age;
public void method() {
int age = 10;
//正常来说采用就近原则,输出10
System.out.println(age);
//加this修饰后只表示成员变量的name,输出0
System.out.println(this.age);
}
}
- 学生类演示
public class Student {
private String name;
private int age;
//成员变量和局部变量重名
public void setName(String name) {
//加this修饰后只表示成员变量的name
this.name = name;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
总结
1/ 就近原则
System.out.println(age);
System.out.println(this.age);
- this修饰的变量–>成员变量
2/ this到作用?
- 区分成员变量和局部变量
3/ this:代表所在类的对象引用
- 记住:方法被哪个对象调用,this就代表哪个对象
this的内存原理
- this本质:所在方法调用者的地址值
- 创建对象后的this内存原理
this
第一次调用时,记录的是001
的地址this
第二次调用时,记录的是002
的地址this
的本质:所在方法调用者的地址值