在父类和子类中,静态代码块、构造方法的执行顺序如下:
父类的静态代码块 --> 子类的静态代码块 --> 父类的构造代码块 --> 父类的构造方法 --> 子类的构造代码块 --> 子类的构造方法
而且,静态代码块仅执行一次。
测试代码如下:
class Fu
{
//静态代码块
static
{
System.out.println("Fu 静态代码块");
}
//构造代码块
{
System.out.println("Fu 构造代码块");
}
public Fu()
{
System.out.println("Fu 构造方法");
}
}
class Zi extends Fu
{
//静态代码块
static
{
System.out.println("zi 静态代码块");
}
//构造代码块
{
System.out.println("zi 构造代码块");
}
public Zi()
{
System.out.println("zi 构造方法");
}
}
class BlockCodeDemo2
{
public static void main(String[] args)
{
Zi z = new Zi();
Zi z2 = new Zi();
}
}
|
|