### 解决成员变量与局部变量重名的问题

编写 Java 程序，当成员变量与局部变量重名时，输出成员变量的值。

#### 运行结果：

实例的运行结果如图 1 所示。

图 1 TestVariabel 类的运行结果

#### 解题关键：

l 当成员变量与局部变量名称相同时，成员变量将被隐藏。

l 当成员变量被隐藏时，可以使用“this.”作为前缀来访问成员变量。

#### 答案：

创建 TestVariable 类，名称为 TestVariable.java，在该类中，首先定义一个名称为 a 的成员变量，然后定义 printStr()方法，在该方法中，再定义一个名称为 a 的局部变量，并且输出局部变量 a 和成员变量 a 的值，最后在 main()方法中，实例化 TestVariable 类的对象，并调用 printStr()方法。TestVariable 类的完整代码如下：

public class TestVariable {

private int a = 100; // 定义成员变量

public void printStr() {

int a = 1000; // 定义局部变量

System.out.println("局部变量：" + a); // 输出局部变量的值 1000

System.out.println("成员变量：" + this.a); // 用 this 关键字输出成员变量的值 100

}

public static void main(String[] args) {

TestVariable tv = new TestVariable();

tv.printStr(); //调用 printStr()方法

}

}