作用
1.当类中的构造器的形参与类中的属性名相同时,特指当前对象的属性
public class this的作用 {
public static void main(String[] args) {
Person p = new Person("张三", 20);
System.out.println("name= " + p.name + " age=" + p.age);
p.f1();
}
}
class Person {
String name;
int age;
public Person(String nam, int age) {
// this.name代表当前对象的属性name
this.name = nam;
this.age = age;
}
public Person(){
this("李四",19);
}
public void f1(){
this.f2("zz",21);
}
}
为什么说特指当前对象的属性
public void f2(String name, int age){
System.out.println(name+age);//这里输出了函数的形参 zz 21
//但是我们加了this时,他输出的是当前对象的属性 张三 20
//所以我们不加this是他会根据就近原则访问方法的形参,用于区分局部变量与全局变量
System.out.println(this.name+this.age);
}
}
2.访问构造器
public Person(){
//注意当我们使用this访问构造器时,this语句要在最前面
this("李四",19);
}
3.调用函数
public void f1(){
this.f2("zz",21);
}
当然在同一个类中我们可以直接省略this直接调用 f2()函数
(此文谨我学习记录,如有错误欢迎指出)