java变量同名_Java成员变量与局部变量同名
时间: 2023-09-25 19:15:28 浏览: 180
如果在Java类中成员变量与局部变量同名,那么在方法中使用该变量时,会优先使用局部变量。如果需要访问该类中的成员变量,可以使用“this”关键字来区分。
例如:
```java
public class Example {
private int num;
public void setNum(int num) {
this.num = num; // 使用this关键字来访问成员变量
}
public void printNum() {
int num = 10; // 定义一个同名的局部变量
System.out.println(num); // 输出的是局部变量的值,即10
System.out.println(this.num); // 使用this关键字访问成员变量,输出的是成员变量的值
}
}
```
相关问题
java中局部变量不能与类中的成员变量同名吗
可以使用同名的变量名,但是在方法内部使用同名变量时,会优先使用局部变量,如果想要访问成员变量,需要使用 `this` 关键字来指明。例如:
```java
public class Example {
private int num;
public void setNum(int num) {
this.num = num; // 使用 this 关键字来访问成员变量
}
}
```
这样在方法中就可以使用同名的变量名 `num`,并且可以正确地访问成员变量。
当一个类中局部变量与成员变量同名时,“this.变量名”访问的是局部变量。
当一个类中局部变量与成员变量同名时,使用"this.变量名"可以访问的是成员变量,而不是局部变量。在Java中,当成员变量与局部变量同名时,局部变量会覆盖成员变量的值。如果想要访问成员变量,需要使用关键字`this`来区分。`this`代表当前对象,使用`this.变量名`可以访问当前对象的成员变量,而不是局部变量。例如:
```java
public class MyClass {
private int num; // 成员变量
public void setNum(int num) { // 参数与成员变量同名
this.num = num; // 使用 this 访问成员变量
}
}
```
在上面的代码中,由于参数`num`与成员变量`num`同名,使用`this.num`可以访问到成员变量`num`,而不是方法参数`num`。
阅读全文