我有一个全局变量和一个同名的局部变量.如何访问全局变量.
码:
String s = "Global";
private void mx()
{
String s = "Local";
lblB.setText(s); // i want global
}
Run Code Online (Sandbox Code Playgroud)
在c ++中使用:: operator如下:
::s
Run Code Online (Sandbox Code Playgroud)
Java中的是::运算符吗?
这不是一个全局变量 - 它是一个实例变量.只需使用this:
String s = "Local";
lblB.setText(this.s);
Run Code Online (Sandbox Code Playgroud)
(参见JLS第15.8.3节的含义this.)
对于静态变量(这是人们在谈论全局变量时通常所说的),您可以使用类名来限定变量名:
String s = "Local";
lblB.setText(ClassDeclaringTheVariable.s);
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,我不希望有一个与实例或静态变量同名的局部变量,但是值得注意的例外是构造函数和setter,这两个参数的名称通常与实例变量相同. :
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Run Code Online (Sandbox Code Playgroud)