具有相同名称的局部变量和全局变量

Local Variable and Global Variable with same name

本文关键字:局部变量 全局变量      更新时间:2023-10-16

我有两个变量,一个是函数中的局部变量,另一个是全局变量。这两个变量具有相同的名称。在编译过程中,没有出现错误。所以当代码运行时,我使用这个变量,哪个被选中了?

谢谢。

局部变量将始终隐藏(shadow)全局变量。

在Java中,您可以使用关键字this来访问实例变量。这在构造函数中经常使用。例如:

private String someVar;
public ClassName(String someVar) {
    this.someVar = someVar; // this.someVar is the instance variable
                            // someVar is the local variable
} 

局部变量遮蔽全局变量。也就是说,除非你明确指定使用全局变量,否则同名的局部变量将在函数中使用。