代码之家  ›  专栏  ›  技术社区  ›  shankar upadhyay

java中静态方法内部的静态变量

  •  -4
  • shankar upadhyay  · 技术社区  · 7 年前

    我的代码在这里:-

    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);
        }
    }
    

    我得到编译时错误,因为:- 由于静态方法不依赖于类的实例,那个么为什么我不能在静态方法内声明静态变量呢? 但如果我在方法外声明类内的变量,它是可以访问的?

    2 回复  |  直到 7 年前
        1
  •  3
  •   Kayaman    7 年前

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

        2
  •  1
  •   Jack Flamp    7 年前

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