java中静态方法中的静态变量
在静态方法中声明一个变量为静态时会给出错误(编译时错误)。 我的代码是在这里: -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);
}
}
我得到的编译时错误: - “为参数x非法修改;只有最终被允许”。 由于静态方法不依赖于类的实例,那么为什么我无法在静态方法内声明一个静态变量? 但它是可访问的,如果我在方法中声明该类内的变量?
一个静态变量属于该类,可以根据变量的访问修饰符允许任何人修改。本地方法变量只存在于方法内部(以及执行期间),并且不能由此方法之外的任何人访问。它根本没有意义。
谢谢@Jack Flamp –
局部变量只在调用时才存在。静态不会(也不会)影响它们。
如果我理解正确,那么它意味着: - 静态变量在调用方法时不起任何作用,它只会作为全局变量受到影响。 –
局部变量与*类*没有关系,或者它的实例是否存在。当方法运行时,生命是完全被包含的。不必担心类。那个幸运的实例变量。 – Kayaman
谢谢@Kayaman –
你不需要静态。你做 ? –
范围修饰符('static','public'等)的内部方法不可用。范围始终是方法。 –
你的问题是什么? –