/**
* 继承中,static代码块,代码块,构造方法执行顺序问题
*/
public class Test {
@SuppressWarnings("unused")
public static void main(String[] args) {
Sun t = new Sun();
}
}
class Father{
{
System.out.println("父类代码块!");
}
static {
System.out.println("父类static代码块!");
}
public Father(){
System.out.println("父类类构造方法!");
}
}
class Sun extends Father{
{
System.out.println("子类代码块!");
}
static {
System.out.println("子类static代码块!");
}
public Sun(){
System.out.println("子类构造方法");
}
}
运行结果:
父类static代码块!
子类static代码块!
父类代码块!
父类类构造方法!
子类代码块!
子类构造方法
static代码块:类信息加载时执行
普通代码块:调用在调用构造方法是执行