this关键字:代表当前对象自身的引用
this指向(代表)的是哪个对象呢?
a. 在构造方法中的 this,指代的当前对象其实就是,构造方法执行时,jvm正在创建的那个对象。
b. 在普通成员方法的方法体中,this指代的对象是谁?
普通成员方法通过“对象名.方法()”调用, 所以对于普通成员方法而言,在哪个对象上调用方法,方法中的this就指的是哪个对象、
this关键字的作用:
1. 解决成员变量的隐藏的问题(下面 解释)
2. 访问对象的成员(访问当前对象的成员变量值,访问当前对象的成员方法)
3. 访问对象的构造方法
通过“ this(实参列表) ”在某个构造方法中,调用其他构造方法
a. this调用构造方法,这个代码,只能用于某个构造方法的方法体中
b. this调用构造方法, 必须处在构造方法的第一条语句的位置
成员变量的隐藏问题:
1. 方法中定义了和类中成员变量同名的局部变量
2. 在方法体中,通过同名变量的变量名来访问变量值,只能访问到方法中的那个局部同名变量的值,而访问不到同名成员变量的值
3. 在方法体中,就好像同名成员变量,被同名局部变量给隐藏起来了
成员变量的隐藏,问题的解决?
可以通过给表示成员变量的变量名前加一个用来区分成员变量的前缀 -> this