本帖最后由 于潇 于 2012-4-26 10:00 编辑
有人说在没有写初始化块和静态初始化块的程序中,首先执行的都是构造方法,主要用于初始化,但是初始化代码块、静态初始化代码块、构造方法它们之间的执行顺序是什么样子的呢?
- package test5;
- public class Test1 {
- public static void main(String args[])
- {
- Test2 t1 = new Test2();
- System.out.println("----------第二次实例化----------");
- Test2 t2 = new Test2();
- }
- }
- class Test2
- {
- //构造方法
- public Test2()
- {
- System.out.println("构造方法");
- }
- //初始化代码块
- {
- System.out.println("初始化代码块");
- }
- //静态初始化代码块
- static
- {
- System.out.println("静态初始化代码块");
- }
- }
复制代码 执行后的顺序是
- 静态初始化代码块
- 初始化代码块
- 构造方法
- ----------第二次实例化----------
- 初始化代码块
- 构造方法
第一次实例化Test2后,结果与第二次还不一样,总么回事呢?
|