java中this关键字

时间:2022-02-14 17:04:19

在刷题中遇到this使用方法,记录一下。

参考资料:http://www.cnblogs.com/whyhappy/p/5370255.html



1、使用this调用类的成员变量。

2、在构造方法中,使用this调用另一个本类的构造方法。但是这里要注意的一点就是:this调用必须在本构造方法的第一行代码的位置上。这么做是为了初始化类的属性。并且至少应该有一个构造方法是不能有this的,否则就出现循环调用,类无法进行初始化了,有问题的。

3、使用this引用当前对象。

对于当前对象,我一直是模糊的。这里再重申认识一遍。所谓当前对象,是指正在调用类中方法的对象。通俗的讲,就是,当前这个方法是被谁调用的,谁就是当前对象。

4、其他用法。例如对象的比较,可以使用this和引用传递进行两个对象是否相等的比较。

这里听起来有点绕,写个代码清晰点。

/**
* Created by cxh on 17/07/21.
*/
public class Main {
private String name;
private int age;
Main(String name,int age){
this.name=name;
this.age=age;
}

boolean isEquals(Main main){
Main m1=this;
Main m2=main;
if(m1==m2) //地址比较两个对象是否是一个
return true;
if(m1.name.equals(m2.name) && m1.age==m2.age)
return true;
else
return false;
}
}