- 使用场景
- 当成员变量和局部变量重名时,可以用this来区分
- 作用
- this代表对象(当前对象)
- this代表对象(当前对象)
在函数中,创建对象和对对象中的成员函数或变量进行操作时,其实都隐含了一个this的调用去指向该对象的地址。
类中的成员函数在调用时必定是由对象调用的
package Person;
public class Person {
private int age;
private String name;
//定义一个构造函数
Person(){
name = "baby";
age = 1;
//创建对象时初始化其值
System.out.println("Person run");
}
// 构造函数的重载
Person(String name){
this.name = name;
System.out.println("Person(n) run");
}
Person(String name,int age){
this(name);
//对象初始化(name)
//必须放在第一行(this对对象构造函数的调用)
this.age = age;
System.out.println("Person(n,a) run");
}
public void speak(){
System.out.println(name+":"+age);
}
}
class ConsDemo{
public static void main(String[] args){
Person p = new Person();
//构造函数自动执行
p.speak();
// Person run
// baby:1
Person p1 = new Person("WangWang");
p1.speak();
// Person(n) run
// WangWang:0
Person p2 = new Person("xiaoqiang",2);
p2.speak();
// Person(n,a) run
// xiaoqiang:2
}
}