如何在具有相同名称的变量的静态函数中访问全局静态变量

时间:2015-02-06 14:11:05

标签: java

我在静态函数中有一个静态变量和一个具有相同名称的局部变量。 在该函数中,我如何访问静态变量。

static String  s = "class level";
static private void mx(String s)
{
System.out.println(s); // i want class level
}

3 个答案:

答案 0 :(得分:3)

只需使用它的全名:ClassName.s

答案 1 :(得分:3)

左边是班级名称:

ClassName.s=...;

答案 2 :(得分:2)

在该功能中,仅使用" s"将是本地静态变量。要访问静态成员(函数或类),可以使用

调用它
Classname.membername

在您的情况下,如果您想打印局部变量,则使用

System.out.println(s);

正如你所做的那样。 说你的整个事情都包含在一个名为" Test"的课程中。所以,

Class Test{
    static String  s = "Global";
    static private void mx(String s)
    {
      System.out.println(s); // i want global
    }
}

所以,为了打印两个字符串(本地s和"全局" s),

Class Test{

    static String  s = "Global";
    static private void mx(String s)
    {
        System.out.println(s);         //prints local s
        System.out.println(Test.s);    //prints "global" s
    }

}