Go...

当前位置: 首页>>世界杯1998

Java中类的初始化过程:(静态成员变量,静态代码块,普通成员变量,代码块初始化顺序)

初始化过程是这样的:

1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化;

2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化;

3.其次,初始化父类的普通成员变量和代码块,在执行父类的构造方法;

4.最后,初始化子类的普通成员变量和代码块,在执行子类的构造方法;

类的加载顺序:

父类静态成员变量、静态块>子类静态成员变量、 静态块>父类普通成员变量、非静态块>父类构造函数>子类 普通成员变量、非静态块>子类构造函数

静态代码块:随着类的加载而执行,而且只执行一次

非静态代码块:每创建一个对象,就执行一次非静态代码块

关于各个成员简介:

小练习:

下面代码输出结果是

代码语言:javascript复制class C {

C() {

System.out.print("C");

}

}

class A {

C c = new C();

A() {

this("A");

System.out.print("A");

}

A(String s) {

System.out.print(s);

}

}

class Test extends A {

Test() {

super("B");

System.out.print("B");

}

public static void main(String[] args) {

new Test();

}

}