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

时间:2014-06-13 06:25:58

标签: java c++ c

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

谢谢。

2 个答案:

答案 0 :(得分:3)

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

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

private String someVar;

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

答案 1 :(得分:1)

局部变量影响全局变量。 即,除非您明确指定使用全局变量,否则将在函数中使用具有相同名称的局部变量。