静态方法中声明一个(非)静态变量的问题

来源:8-9 Java 中的 static 使用之静态方法

小小小小小柯丶

2018-02-04 21:34

我发现在静态方法中声明一个非静态变量,并赋值后的此静态方法,也能在另一个静态方法中通过类直接调用。是因为我声明的是局部变量,所以对另一个调用此变量所在方法的方法并没任何影响吗?还有,我貌似并不能在静态方法中声明一个静态变量是为什么?

写回答 关注

2回答

  • Hsinwong
    2018-02-05 14:54:29
    已采纳

    局部变量的作用范围是从声明开始到所在语句块(“{”“}”构成一个语句块)的结束

    public static void foo() {
        if (...) {
            ...
            int a; // 局部变量a作用范围开始
            ...
        } // 局部变量a作用范围结束
        
        //此处a已经不存在
    }
    
    public static void foo1() {
        foo();
        //此处a也不存在
    }

    静态变量只能在类中声明,可以在方法中调用和赋值

    小小小小小柯... 回复Hsinwo...

    好的,谢谢

    2018-02-05 19:20:56

    共 3 条回复 >

  • 随随便便啊
    2018-02-05 11:34:00

    因为方法是静态的


Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530931 学习 · 6091 问题

查看课程

相似问题