Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当字段的名称与局部变量相同时,如何访问该字段?_Java_Scope - Fatal编程技术网

Java 当字段的名称与局部变量相同时,如何访问该字段?

Java 当字段的名称与局部变量相同时,如何访问该字段?,java,scope,Java,Scope,我有一个字段和一个同名的局部变量。如何进入现场 代码: 在C++中使用::操作符如下: ::s Java中是WARE::运算符吗?这不是一个全局变量,而是一个实例变量。只需使用此: String s = "Local"; lblB.setText(this.s); (有关此的含义,请参见) 对于静态变量(人们在谈论全局变量时通常是指静态变量),可以使用类名来限定变量名: String s = "Local"; lblB.setText(ClassDeclaringTheVariable.

我有一个字段和一个同名的局部变量。如何进入现场

代码:

在C++中使用::操作符如下:

::s

Java中是WARE::运算符吗?

这不是一个全局变量,而是一个实例变量。只需使用此:

String  s = "Local";
lblB.setText(this.s);
(有关此的含义,请参见)

对于静态变量(人们在谈论全局变量时通常是指静态变量),可以使用类名来限定变量名:

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;
    }
}
您可以使用“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();
}

}

使用此关键字,您可以在同一类中使用全局关键字。或者只需声明全局变量static并使用classname.variable name访问该变量。

是,您也可以使用 类u name.Globalvariable_name

Class simple 
{

 static int i;
 public static void main(string args[]) 
  {
      int i=10;
       System.out.println("Local Variable I =" +i) ;
     system.out.println("Global variable I =" +Simple.i) 
   } 

}

哇,你的问题得到了SO中声誉最高的人的回答!可能重复的
Class simple 
{

 static int i;
 public static void main(string args[]) 
  {
      int i=10;
       System.out.println("Local Variable I =" +i) ;
     system.out.println("Global variable I =" +Simple.i) 
   }