*/
This使用情况:当成员变量和局部变量重名,可以用关键字this来区分。
This:代表对象。代表哪个对象呢?代表当前对象。
This就是所在函数所属对象的引用。
简单说:哪个对象调用了this所在的函数,this就代表哪个对象。
class Person{
private String name;
private int age;
Person(String name) //此处是构造函数
{
this.name =name;
}
Person(String name,int age)
{
//this.name=name;
this(name); //此处this指Person(String name);
name = name;
this.age = age;
}
public void speak()
{
System.out.println(name+":"+age);
}
}
public class MyClass {
public static void main(String[] args)
{
Person per = new Person("wangcai");
per.speak();
}
附:内存中调用图(取自毕向东老师视频)
This关键字是一个对象的默认引用。This关键字总是指向调用该方法的对象。
根据this出现的位置不同,this作为对象的默认引用有两种情况:
构造函数中引用该构造函数执行初始化的对象
在方法中引用调用该方法的对象
This关键字最大的作用就是让类中的一个方法 ,访问该类的另一个方法或属性。
This可以代表任何对象,当this出现在某个方法体中时,它所代表的 对象时不确定的,但它的类型是确定的,它所代表的对象只能是当前类;只有当这个方法被调用时,它所代表的对象才确定下来:谁在调用在这个方法,this就代表谁。