java类的成员初始化顺序和初始化块顺序

执行顺序:
1.父类静态成员和静态初始化快,按在代码中出现的顺序依次执行。
2.子类静态成员和静态初始化块,按在代码中出现的顺序依次执行。
3. 父类的实例成员和实例初始化块,按在代码中出现的顺序依次执行。
4.执行父类的构造方法。
5.子类实例成员和实例初始化块,按在代码中出现的顺序依次执行。
6.执行子类的构造方法。
public class test {  
    //测试
    public static void main(String[] args) {  
        Son s = new Son();  
    }  
  
}  


/**
 * 
 * 父类
 * @author LIMING
 *
 */
class Parent{  
  
    {  
        System.out.println("parent中的初始化块");  
    }  
    static{  
        System.out.println("parent中static初始化块");  
    }  
      
    public Parent(){  
        System.out.println("parent构造方法");  
    }  
}  
/**
 * 子类
 * @author LIMING
 *
 */
class Son extends Parent{  
    {  
        System.out.println("son中的初始化块");  
    }  
      
    static{  
        System.out.println("son中的static初始化块");  
    }  
      
    public Son(){  
        System.out.println("son构造方法");  
    }  
      
}  



你可能感兴趣的:(JAVA)