我有一个全局变量和一个同名的局部变量。如何访问全局变量。
代码:
String s = "Global";
private void mx()
{
String s = "Local";
lblB.setText(s); // i want global
}
在c ++中使用:: operator如下:
::s
是Java中的::运算符吗?
答案 0 :(得分:8)
这不是一个全局变量 - 它是一个实例变量。只需使用this
:
String s = "Local";
lblB.setText(this.s);
(有关this
的含义,请参阅JLS section 15.8.3。)
对于静态变量(这是人们在谈论全局变量时通常所说的),您可以使用类名来限定变量名称:
String s = "Local";
lblB.setText(ClassDeclaringTheVariable.s);
在大多数情况下,我不希望有一个与实例或静态变量同名的局部变量,但是值得注意的例外是构造函数和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;
}
}
答案 1 :(得分:0)
您可以使用“this”关键字来执行此操作。
示例:
public class Test {
private String s = "GLOBAL";
public Test() {
String s = "LOCAL";
//System.out.println(this.s);
//=> OR:
System.out.println(s);
}
public static void main(String[] args) throws IOException {
new Test();
}
}
答案 2 :(得分:0)
使用此关键字,您可以使用全局关键字,但在同一个类中。或者只是您可以使用classname.variable name声明全局变量static并访问它。
答案 3 :(得分:0)
是的你也可以使用 class _ name.Globalvariable_name
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl" ng-style=" has != 0 && {'cursor':'pointer','background-color':'blue'} || {'background-color':'blue'} ">
kick
</div>
}