java类的成员初始化顺序和初始化块顺序
原创
©著作权归作者所有:来自51CTO博客作者木子的昼夜的原创作品,请联系作者获取转载授权,否则将追究法律责任
执行顺序:
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构造方法");
}
}