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(); } }