java

时间:2017-08-14 11:20:32

标签: java static static-methods

将静态方法中的变量声明为静态时给出错误(编译时错误)。 我的代码在这里: -

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的非法修饰符;只允许决赛#34; 由于静态方法不依赖于类的实例,为什么我不能在静态方法中声明静态变量? 但是如果我在方法中声明类中的变量吗?

2 个答案:

答案 0 :(得分:3)

仅在调用时存在局部变量。静态不会影响它们。

答案 1 :(得分:1)

静态变量属于该类,并且可以由根据变量的访问修饰符允许的任何人修改。本地方法变量仅存在于方法中(以及在执行期间),并且此方法之外的任何人都无法访问。这根本没有意义。