Java Web框架 静态代码块、构造代码块、构造函数、普通代码块 执行顺序 Decompiler JD-GUI 反编译工具

Java Web框架 静态代码块、构造代码块、构造函数、普通代码块 执行顺序 Decompiler JD-GUI 反编译工具

1、下载jd-gui-windows-1.4.0。
http://jd.benow.ca/

2、通过jd-gui.exe查看.class文件,用于分析类编译过程。

3、源文件。

// 加载相应的 Helper 类
public final class ContextLoader {
  
  static {
    System.out.println("静态代码块");
  }

  {
    System.out.println("构造代码块");
  }

  public ContextLoader() {
    System.out.println("无参构造函数");
  }

  public void say() {
    {
      System.out.println("普通代码块");
    }
  }
  
  public static void main(String[] args) {
    System.out.println("执行main方法");
    new ContextLoader().say();
    System.out.println("---------------");
    new ContextLoader().say();
  }
}

4、执行结果。
静态代码块
执行main方法
构造代码块
无参构造函数
普通代码块
—————
构造代码块
无参构造函数
普通代码块

5、反编译。

// 加载相应的 Helper 类
public final class ContextLoader {
  
  static {
    System.out.println("静态代码块");
  }

  public ContextLoader() {
    System.out.println("构造代码块");
    System.out.println("无参构造函数");
  }

  public void say() {
      System.out.println("普通代码块");
  }
  
  public static void main(String[] args) {
    System.out.println("执行main方法");
    new ContextLoader().say();
    System.out.println("---------------");
    new ContextLoader().say();
  }
}

 

发表回复

您的电子邮箱地址不会被公开。