我是Java新手。我想知道是否有一种方法可以在将其用作变量之后,稍后将已声明的全局变量重新初始化为常量……这是因为在对已声明的变量进行了一些处理之后,我想在Switch情况下使用它声明...

class A {
    int x;
    int y;
    public static void main(String args[]) {
        A a = new A();

        System.out.println(a.x);
        a.y = 3;
        a.x = 5;
        switch (a.y) {
            case a.x:// Something
        }
    }
}


这是我需要的示例...打印语句提到,我需要对变量x进行操作。以后我想在Switch case语句中使用它。我不想在切换大小写后使用x ...请帮助我...

最佳答案

我想知道是否有一种方法在将其用作变量之后,稍后将初始化的全局变量重新初始化为常量...


不,没有。 (Java也没有全局变量;在您的代码中,xy是实例数据成员。Java与全局变量最接近的是公共类中的public static [aka“ class”]数据成员。 )


  那是因为在对声明的变量进行某些处理之后,我想在Switch case语句中使用它...


如果大小写值(在您的情况下为a.x)不是常量,则不能。相反,您必须使用if/else if/else

class A {
    int x;
    int y;
    public static void main(String args[]) {
        A a = new A();

        System.out.println(a.x);
        a.y = 3;

        if (a.y == a.x) {
            // ...
        }
        else if (a.y == something_else) {
            // ...
        }
        else {
            // ...
        }
    }
}

09-25 18:35
查看更多