Java当成员变量和局部变量重名
时间: 2024-12-12 21:12:49 浏览: 14
在Java编程中,当成员变量(类变量)和局部变量(方法或代码块中的变量)重名时,会出现变量遮蔽(Shadowing)的情况。为了区分这两个变量,可以使用关键字`this`来引用成员变量,使用变量名直接引用局部变量。
以下是一个示例代码,展示了如何处理成员变量和局部变量重名的情况:
```java
public class Example {
// 成员变量
private int value = 10;
public void method() {
// 局部变量,与成员变量重名
int value = 20;
// 使用this关键字引用成员变量
System.out.println("Member variable value: " + this.value);
// 直接引用局部变量
System.out.println("Local variable value: " + value);
}
public static void main(String[] args) {
Example example = new Example();
example.method();
}
}
```
在这个示例中,`Example`类有一个成员变量`value`,方法`method`中有一个同名的局部变量`value`。在方法内部,使用`this.value`来引用成员变量,使用`value`直接引用局部变量。
输出结果为:
```
Member variable value: 10
Local variable value: 20
```
阅读全文