Fork me on GitHub

静态:

           关键字:static

            概述 使用static关键字修饰的成员方法、成员变量称为静态成员方法、静态成员变量。

      优缺点

          优点:使用时不用创建对象,节约了空间。使得代码的简洁。

          缺点:局限性(静态方法只能调用静态方法和静态成员变量)

     使用场景:  一般情况做工具类使用

      ①.如果成员方法没有使用成员变量或不调用成员方法时

      ②.如果多个对象调用同一个变量时,我们应该共享此变量(使用static修饰达到共享数据的效果)

    规则:

      建议:静态调用静态,非静态调用非静态。

        (非静态可以调用任何状态)

      内存图

                       查看时请放大

                     

 

 

 

  

代码块  

       静态代码块:

            格式:类中方法外  static{   }

          生命周期:类加载的时候执行  类加载到方法区中的时候会执行

            作用:加载驱动

       构造代码块:

            格式:类中方法外   {   }

          生命周期:new 动作之后 构造方法执行之前

            作用: 抽取构造方法(有参构造和无参构造)中相同的代码

                    局部代码块:

            格式:方法中    {  }

          生命周期:大括号执行完就结束

            作用:节约内存

          执行次序:静态代码块 > 构造代码块 > 局部代码块

 类变量与实例变量辨析

A:类变量:其实就是静态变量

 

     定义位置:定义在类中方法外

 

     所在内存区域:方法区

 

    生命周期:随着类的加载而加载

 

    特点:无论创建多少对象,类变量仅在方法区中,并且只有一份

 

B:实例变量:其实就是非静态变量

 

     定义位置:定义在类中方法外

 

     所在内存区域:堆

 

     生命周期:随着对象的创建而加载

 

     特点:每创建一个对象,堆中的对象中就有一份实例变量

 

posted on 2017-08-23 15:52  TopTime  阅读(186)  评论(0编辑  收藏  举报