举例说明:
public class HelloB extends HelloA
{
public HelloB()
{
}
{
System.out.println("I’m B class");
}
static
{
System.out.println("static B");
}
public static void main(String[] args)
{
new HelloB();
}
}
class HelloA
{
public HelloA()
{
}
{
System.out.println("I’m A class");
}
static
{
System.out.println("static A");
}
}
结果为:
static A
static B
I’m A class
I’m B class
当涉及到继承时,按照如下顺序执行:
1.父类的静态代码块->2.子类的静态代码块->3.父类的非静态代码块->4.父类的构造函数->5.子类的非静态代码块->6.执行子类的构造函数