this关键字
作用:
用来访问本类中的成员变量和成员方法。
public class test {
String str;
public test(String str) {
this.str = str;
}
}
分析:
在构造方法里的this指的是当前类的对象,当前类中有一个成员变量str,没有初始化。
构造方法的参数列表中存在着一个String类型的变量str,有初值。
this.str调用了当前类的成员变量str,将参数列表中的变量str赋值给了当前类的成员变量str。
见下图:
这里test2方法中的this指代的是调用test2这个方法的对象,也就是test类的实例t。当t调用了test1()方法之后,程序进入test1方法体。
在test1方法体里的this,指的是当前类的对象实例,也就是test类的实例,所以是将字符串"haha"赋值给当前类的实例的String的引用str。
最后,经过测试打印出的字符串str的值是------>haha