类的实例化步骤
1.Load父类,初始化static成员变量.
2.Load子类,初始化static成员变量.
3.调用子类构造方法,子类构造方法首先调用父类构造方法,可通过super(...)在第一行指定父类构造方法.
4.父类构造方法初始化非static成员变量.
5.父类构造方法执行方法体.
6.子类构造方法初始化非static成员变量.
7.子类构造方法执行方法体.
简言之就是:
父类static变量----->子类static变量----->父类普通变量----->父类构造方法----->子类普通变量----->子类构造方法
实例如下:
class A
{
{
System.out.println("I'm in class A's normal!");
}
static
{
System.out.println("I'm in class A's static!");
}
public A(int i)
{
System.out.println("I'm in class A's structure!");
}
}
class B extends A
{
{
System.out.println("I'm in class B's normal!");
}
static
{
System.out.println("I'm in class B's static!");
}
public B()
{
super(2);
System.out.println("I'm in class B's structure!");
}
}
public class TestAB
{
public static void main(String[] args)
{
B b = new B();
}
}
输出结果为:
I'm in class A's static!
I'm in class B's static!
I'm in class A's normal!
I'm in class A's structure!
I'm in class B's normal!
I'm in class B's structure!