Java:这样为什么会报错呢?main函数是个静态方法,不能在其中声明静态变量么?

2025-02-13 13:25:16
推荐回答(3个)
回答1:

只有类才存在静态的变量 方法只能对静态变量的操作 不能在方法内试图定义静态变量,否则的话会抛出编译错误。静态变量的本意是为了让所有的对象共享这个变量,如果在方法里面定义静态变量的话就存在逻辑错误了,也达不到你想要目的. 因为在方法中定义静态变量根本没有他的任何意义. 任何对象都有自己的方法,即使是静态方法,方法内的变量也是在方法调用时候才开始分配内存,所以想给成静态的在逻辑上存在问题

回答2:

static类型变量属于在类加载时进行定义初始化的,而main函数中的相关变量是在运行时才会声明,在main函数中可以引用static类型变量,但不可在里面进行声明。

回答3:

静态变量不能写到方法里面的,正确的写法
class Test {
static final byte CONN_FLAG = 18;
public static void main(String[] a){ System.out.println(CONN_FLAG); }}