0
点赞
收藏
分享

微信扫一扫

【Java笔记】this关键字的使用

辰鑫chenxin 2022-03-14 阅读 178

this 关键字其实可以理解为当前对象,在类的方法或构造器中,我们可以使用 “this . 属性” 或者 “this . 方法”的形式,调用当前对象属性或方法。但是,通常情况下,我们都选择了省略 “this” 。特殊情况下,如果方法或构造器的形参和类的属性同名时,我们必须显式使用 “this . 变量” 的方式,表明此变量是属性,而非形参。

目录

this关键字的修饰范围

this调用构造器

this关键字的使用


this关键字的修饰范围

this可以用来修饰:属性,方法,构造器

this调用构造器

1. 我们在类的构造器中,可以显式的使用 “this(形参列表)” 的方式,调用本类中指定的其他构造器

2. 构造器中不能通过 “this(形参列表)” 的方式调用自己

3. 如果一个类中有 n 个构造器,则最多有 n - 1 个构造器使用了 “this(形参列表)”

4. 规定:“this(形参列表)” 必须声明在当前构造器的首行

5. 构造器内部,最多只能声明一个 “this(形参列表)” ,用来调用其他的构造器

this关键字的使用

public class Test {
	public static void main(String[] args) {
		Person p = new Person("Tom");
		System.out.println(p.getName());
	}
}
class Person{
	private String name;
	private int age;
	
	public Person() {
		this.study();
	}
	public Person(String name) {
		this(); // 调用空参构造器
		this.name = name;
	}
	public Person(int age) {
		this.age = age;
	}
	public Person(String name,int age) {
		this(age); // 调用age构造器
		this.name = name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getName() {
		return name;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public int getAge() {
		return age;
	}
	public void study() {
		System.out.println("人可以学习");
	}
}

>>> 人可以学习
    Tom

本例中,如果不指明 this,则重名的形参会被系统混淆,name = name 的情况,系统会认为是形参赋值给形参,而非属性。

举报

相关推荐

0 条评论