zoukankan      html  css  js  c++  java
  • day01(静态、代码块、类变量和实类变量辨析 )

    静态:

               关键字:static

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

          优缺点

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

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

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

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

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

        规则:

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

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

          内存图

                           查看时请放大

                         

      

    代码块  

           静态代码块:

                格式:类中方法外  static{   }

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

                作用:加载驱动

           构造代码块:

                格式:类中方法外   {   }

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

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

                        局部代码块:

                格式:方法中    {  }

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

                作用:节约内存

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

     类变量与实例变量辨析

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

     

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

     

         所在内存区域:方法区

     

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

     

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

     

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

     

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

     

         所在内存区域:堆

     

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

     

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

     

  • 相关阅读:
    CyclicBarrier与CountDownLatch区别
    导入搜狗实验室新闻语料库
    安装ik分词插件
    分页显示时传递页码的方法
    elasticsearch安装步骤
    linux查看端口占用情况
    Python:文件的读取、创建、追加、删除、清空
    R语言-选择样本数量
    不符合正态分布的配对数据也有自己的统计方法。
    python时间处理
  • 原文地址:https://www.cnblogs.com/fjkgrbk/p/static_fjk.html
Copyright © 2011-2022 走看看