当前位置: java社区 > 03-略知一二 > 阅读正文

java中this关键字3种作用

2021.8.23.   292 次   650字

java中的变量是有作用域的,那么局部变量和成员变量冲突时,怎么取成员变量?

由此问题,java引入this关键字,this有3种作用

1.表示成员变量(方法)

语法格式为

this.变量名;  //(或方法名)

例如,把局部变量的 name 赋值给 成员变量的 name

public class Person {
	private String name; //成员变量的 name
	public void setName(String name) {  //局部变量的 name
		this.name = name;
	}
}

当成员变量(或方法) 和 局部变量(或方法) 重名时,用 this.变量名 表示成员变量

2.调用其他构造方法

语法格式为

this(参数);

例如,在 person 类的空参构造中,调用其他构造

public class Person {
	private String name;
	public Person() {
		this("zhangsan");
 //在空参构造里,调用其他构造
	}
	public Person(String name) {
		this.name = name;
	}
}

this调用构造方法时,必须在构造方法的第一行,因为会先执行构造方法(初始化),且不能与 super() 同用

3.用作参数和返回值

用作参数时, 仅把this当作参数即可,例如 abc(this)

用作返回值时,语法格式为

return this;

this 的值,绑定的是当前调用它的对象,谁调用它,this 就绑定谁

public class Person {
	public Person returnMyself() {
		return this;
	}
}

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群