类的实例化步骤
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!
2128

被折叠的 条评论
为什么被折叠?



