zoukankan      html  css  js  c++  java
  • 浅谈Java中静态代码块和非静态代码块

    静态代码块:

          static{}

          执行优先级高于非静态的初始化块,它会在类初始化(类初始化这个问题改天再详细讨论)的时候执行一次,执行完成便销毁,它仅能初始化类变量,即static修饰的数据成员。

    非静态代码块:

          {}

          执行的时候如果有静态初始化块,先执行静态初始化块再执行非静态初始化块,在每个对象生成时都会被执行一次,它可以初始化类的实例变量。非静态初始化块会在构造函数执行时,在构造函数主体代码执行之前被运行。

    例程:   

    public class Test1 {
      public static String staticField = "静态变量";
      public String field = "变量";
      static{
          System.out.println(staticField);
          System.out.println("静态初始块");
      }
      
      {
          System.out.println(field);
          System.out.println("初始化块");
      }
      
      public Test1() {
         System.out.println("构造器");
      }
        
      public static void main(String[] args) {
        new Test1();
        System.out.println();
        new Test1();
      }
    }

         例程运行结果:            

        静态变量
        静态初始块
        变量
        初始化块
        构造器

        变量
        初始化块
        构造器

         

      

  • 相关阅读:
    IntelliJ Idea 快捷键列表
    mysql索引类型和方式
    基本git指令
    idea中deBug方法
    BeanUtils.copyProperties(A,B)使用注意事项
    MySQL字段类型
    JAVA常识1
    Redis在windows下的安装下载
    Netty
    IDEA工具
  • 原文地址:https://www.cnblogs.com/flythinking/p/6842566.html
Copyright © 2011-2022 走看看