2018-04-30
this关键字
什么是this:
表示当前对象本身,或当前类的一个实例,通过 this 可以调用本对象的所有方法和属性。
this主要存在于两个地方:
1)构造函数:此时this表示调用当前创建的对象
2)成员方法中:对象a调用this所在的方法,此时this就表示对象a
当一个对象创建以后,JVM会自动分配一个引用当前对象的this
内存分析:
this的使用:
1)使用this区分同名变量
成员变量与局部变量(参数),重名时,希望在方法内部调用成员变量
1 class Person {
2 private int age = 10;
3 public Person(){
4 System.out.println("初始化年龄:"+age);
5 }
6 public int GetAge(int age){
7 this.age = age;
8 return this.age;
9 }
10 }
11
12 public class test1 {
13 public static void main(String[] args) {
14 Person Harry = new Person();
15 System.out.println("Harry's age is "+Harry.GetAge(12));
16 }
17 }
运行结果:
初始化年龄:10
Harry's age is 12
可以看到,这里age是GetAge成员方法的形参,this.age是Person类的成员变量。
2)作为方法名来初始化对象(构造器重载的方法)
也就是相当于调用本类的其它构造方法,它必须作为构造方法的第一句。
3)作为参数传递
需要在某些完全分离的类中调用一个方法,并将当前对象的一个引用作为参数传递时。
参考:
https://www.cnblogs.com/hasse/p/5023392.html(this和super的用法总结)
http://www.weixueyuan.net/view/5988.html