Java代码执行顺序

  1. 执行父类的静态代码块
  2. 执行子类的静态代码块
  3. 执行父类的构造代码块
  4. 执行父类的构造函数
  5. 执行子类的构造代码块
  6. 执行子类的构造函数
class Parent {              

    // 静态初始化块 
    static {                          
        System.out.println("父类--静态初始化块");              
    }                  

    // 构造器 
    public Parent() {          
        System.out.println("父类--构造器");              
    }         

    // 初始化块 
    {                  
        System.out.println("父类--初始化块");              
    }  
}                  
 class SubClass extends Parent {              

    // 静态初始化块 
    static {          

        System.out.println("子类--静态初始化块");          
    }          
    // 初始化块 
    {          

        System.out.println("子类--初始化块");              
    }                  
    // 构造器 
    public SubClass() {          
        System.out.println("子类--构造器");              
    }                  
    // 程序入口 
    public static void main(String[] args) {                  
        new SubClass();             
    }          
}    

输出:
父类–静态初始化块
子类–静态初始化块
父类–初始化块
父类–构造器
子类–初始化块
子类–构造器

你可能感兴趣的:(java)