Jeff-亮

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

java中static关键字 对程序起一个“牧羊人”的角色

  static有两大用处

    1,对于只想创建一个存储空间来存放这个对象时 

      例如 class StaticTest{static int i = 47;} 这个StaticTest这个类中有一个静态变量i 

        在调用时 StaticTest st1 = new StaticTest();这个时StaticTest对象创建 存储到堆中。如果这时再创建一个StaticTest st2 = new StaticTest();

        通常情况下st1.i和st2.i是两个对象到引用 所以会有两个不同地方来存储。但用static修饰但i会指定在一个地方对起值存储

        所以st1.i和st2.i指向同一存储空间 其值都为47

    2,用于没有创建对象而对对象内部对方法或者值调用

      例如 class StaticTest{static int i = 47;} 

        一般情况要想取得StaticTest中对i的值 需要 StaticTest st1 = new StaticTest();然后st1.i来获取其值

        但用static修饰后 可以直接用类名加方法名来获取值 StaticTest.i这样就可以取到其值了

posted on 2020-04-14 21:37  Jeff-亮  阅读(266)  评论(0编辑  收藏  举报