java加载类的过程一般是先加载父类的静态成员,在加载子类的静态成员,
然后再加载父类的非静态成员,父类的构造方法,最后
加载子类的非静态方法,子类的构造方法。
例如:
class Supper
{
//静态块
static
{
System.out.println("加载父类的静态方法......");
}
//非静态块
{
System.out.println("加载父类的非静态方法......");
}
public Supper()
{
System.out.println("加载父类的构造方法......");
}
}
{
//静态块
static
{
System.out.println("加载子类的静态方法......");
}
//非静态块
{
System.out.println("加载子类的非静态方法......");
}
//子类构造方法
public Supper()
{
System.out.println("加载子类的构造方法......");
}
public static void main(String args[])
{
new Ch();
}
}
其运行结果是:
加载父类的静态方法......
加载子类的静态方法......
加载父类的非静态方法......
加载父类的构造方法......
加载子类的非静态方法......
加载子类的构造方法......