java 中静态方法内的静态变量
static variable inside static method in java
虽然在静态方法中将变量声明为静态变量会出错(编译时错误)。
我的代码在这里:-
public class MainStatic {
public static void main(String[] args) {
System.out.println("Value of static variable is"+print(10));
}
public static void print(int number ) {
static int x = number;
++x;
System.out.println(x);
}
}
我收到编译时错误:-
"Illegal modifier for parameter x; only final is permitted"。
由于静态方法不依赖于 class 的实例,那么为什么我不能在静态方法中声明静态变量?
但是如果我在 class 内声明变量是可以访问的?
局部变量仅在调用时存在。静电不会(也不能)影响它们。
静态变量属于class,任何人都可以根据变量的访问修饰符对其进行修改。局部方法变量仅存在于方法内(以及在方法执行期间),并且不能被该方法之外的任何人访问。这根本就没有意义。
虽然在静态方法中将变量声明为静态变量会出错(编译时错误)。 我的代码在这里:-
public class MainStatic {
public static void main(String[] args) {
System.out.println("Value of static variable is"+print(10));
}
public static void print(int number ) {
static int x = number;
++x;
System.out.println(x);
}
}
我收到编译时错误:- "Illegal modifier for parameter x; only final is permitted"。 由于静态方法不依赖于 class 的实例,那么为什么我不能在静态方法中声明静态变量? 但是如果我在 class 内声明变量是可以访问的?
局部变量仅在调用时存在。静电不会(也不能)影响它们。
静态变量属于class,任何人都可以根据变量的访问修饰符对其进行修改。局部方法变量仅存在于方法内(以及在方法执行期间),并且不能被该方法之外的任何人访问。这根本就没有意义。