this的三种常见用法

this的常见用法

一、第一种:this用来区分局部变量和成员变量;

当形参名称与该方法内部的成员名称冲突时,使用this可以对其进行区分;

public class usingOfThis {
	private int age;
	private String name;
		
	public usingOfThis(int age, String name) {
		this.age = age; //this.age就代表的是该方法的成员变量
		this.name = name; //this.name代表的是该方法的成员变量
	}
}
	

二、第二种:this用来指代对象本身,(类里面的方法要通过对象来调用,即:对象.方法()。此时this就代表调用方法的对象)

测试代码

public class ThisTest {
	public static void main(String[] args) {
		usingOfThis one = new usingOfThis(23, "zjh");
		usingOfThis twO = new usingOfThis(23, "zjh");
		System.out.println(one.equals(twO));
	}
}

类中的方法

@Override
	public boolean equals(Object obj) {
		if (null == obj) {
			return false;
		}
		if (this == obj) {
			return true;
		}
		if (!(obj instanceof usingOfThis)) {
			return false;
		}
		usingOfThis number = (usingOfThis)obj;
		return this.age == number.age && this.name.equals(number.name);
	}

测试代码中有这样一行代码:System.out.println(one.equals(twO));one这个对象引用类中的equals()方法时,此时方法中的this就是one,this.age就是one.age。

三、第三种:this用来表示构造方法。

public usingOfThis() {
		this(0, null);
}
	

这个this(0, null)就是该类中的双参构造方法

用来表示构造方法时,需注意

  • this()只能在构造方法中使用。
  • this()只能出现在构造方法中的第一行。
  • this()使用要避免递归问题。

版权声明:本文为qq_46111881原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。