package io.renren.modules.manyThread;
class Son extends Father{
static {
System.out.println("Son的静态代码块");
}
{
System.out.println("Son的普通代码块");
}
public Son(){
System.out.println("Son的构造方法");
}
}
class Father{
static {
System.out.println("Father的静态代码块");
}
{
System.out.println("Father的普通代码块");
}
public Father(){
System.out.println("Father的构造方法");
}
}
public class Demo{
public static void main(String[] args) {
Son son = new Son();
}
}
执行结果
Father的静态代码块
Son的静态代码块
Father的普通代码块
Father的构造方法
Son的普通代码块
Son的构造方法

转载的他人
Java继承中构造与初始化
本文通过一个Java示例程序详细介绍了在Java继承体系中,父类与子类的构造方法、静态代码块及普通代码块的执行顺序。具体演示了当创建子类实例时,如何先执行父类的静态代码块,接着执行子类的静态代码块,然后依次执行父类和子类的普通代码块以及构造方法。

被折叠的 条评论
为什么被折叠?



