成员变量与局部变量同名问题

本文记录Java学习过程中遇到的成员变量与局部变量的同名问题~

当在方法中出现了局部变量和成员变量同名的时候,那么在方法中怎么区别局部变量成员变量呢?

  • 可以在成员变量名前面加上this.来区别成员变量和局部变量。

示例代码:

class Person {
	private int age;
	private String name;

	// 给姓名和年龄初始化的构造方法
	Person(String name, int age) {
		// 当需要访问成员变量是,只需要在成员变量前面加上this.即可
		this.name = name;
		this.age = age;
	}

	public void speak() {
		System.out.println("name=" + this.name + ",age=" + this.age);
	}
}

class Test {
	public static void main(String[] args) {
		Person p = new Person("张三", 23);
		p.speak();
	}
}

标签: none