Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/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
为什么可以';我是否在psvm Java中创建静态最终变量?_Java_Oop - Fatal编程技术网

为什么可以';我是否在psvm Java中创建静态最终变量?

为什么可以';我是否在psvm Java中创建静态最终变量?,java,oop,Java,Oop,它不会编译,但当我将变量的初始化放在main方法之外时,它就可以了 public class Demo { public static void main(String[] args) { static final int x = 2; System.out.println(x); } } 静态最终整数x=2局部变量不能是静态的,这就是为什么编译器抱怨静态的修饰符是造成问题的原因。 由于明显的原因,您不能将局部变量设置为静态。局部变量不能声

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

public class Demo {

    public static void main(String[] args) {

        static final int x = 2;

        System.out.println(x);
    }
}

静态最终整数x=2局部变量不能是静态的,这就是为什么编译器抱怨静态的修饰符是造成问题的原因。

由于明显的原因,您不能将局部变量设置为静态。

局部变量不能声明为私有、公共、受保护或静态,请删除
静态
关键字。

静态
变量是在加载类时加载的。但在调用方法时(类加载后)会加载局部变量。
所以当类被加载时,局部变量将不会在那个时候被创建。我不知道局部变量不能是静态的