繁体   English   中英

为什么我不能在psvm Java中创建静态最终变量?

[英]Why can't I create static final variable in psvm Java?

它不会编译,但是当我将变量的初始化放在主要方法之外时就可以了。

public class Demo {

    public static void main(String[] args) {

        static final int x = 2;

        System.out.println(x);
    }
}

static final int x = 2; 局部变量不能是静态的,这就是编译器抱怨的原因

static修饰符是谁在这里引起问题。 由于明显的原因,您不能将局部变量static

不能将局部变量声明为private,public,protected或static ,请删除static关键字。

加载类时将加载static变量。 但是在调用方法时(在类加载之后),将加载局部变量。 因此,当类被加载时,那时将不会创建局部变量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM