这个this关键字的使用在以前的学习中很模糊,搞不清楚到底是怎么回事,并且什么时候可以用,什么时候该用,分不清楚,不是很牢固。
this可以用于:1.用于区分成员变量和局部变量
2.构造函数之间的调用
针对第一点呢?比如:
class Persion {
int age;
Persion(int age) {
this.age = age;
}
}
这种用法就是用于区分成员变量和局部变量的,当然这个地方你不写this也行,编译不会报错
针对第二种情况?还是用代码来表示会更好:
class Persion {
int age = 0;
Persion() {
System.out.println("首次运行");
}
Persion( int age) {
this();//这个this()方法必须写在第一行,要不然会报错
this.age = age;
}
}
this的另外一个应用:可以用于对象的引用上,比如/*我要比较两个人是否是同龄人的话该怎么写代码?*/
public class PersionDemo {
public static void main(String[] args) {
Persion p1 = new Persion(23);
Persion p2 = new Persion(56);
System.out.println(p1.isEqual(p2));
}
}
class Persion {
int age;
Persion(int age) {
this.age = age;
}
public boolean isEqual(Persion p) {
return this.age == p.age;//注意这个是用技巧
}
}