java基础(五)------ Java程序中初始化的顺序

来源:互联网 发布:美国先锋集团 知乎 编辑:程序博客网 时间:2024/05/22 01:58

 在java中,当实例化对象时,对象所在类的所有成员变量首先要进行初始化,只有所有类成员初始化后,才会调用对象所在类的构造函数创建对象。

java程序初始化一般遵循三个原则:

1.静态变量(全局变量)优先于非静态变量(成员变量)初始化,静态变量初始化一次,非静态变量允许初始化多   次。

2.父类优先于子类初始化。

3.按照成员变量的定义顺序进行初始化。

顺序:

1.父类静态变量

2.父类静态代码块

3.子类静态变量

4.子类静态代码块

5.父类非静态变量

6.父类非静态代码块

7.父类构造函数

8.子类非静态变量

9.子类非静态代码块

10.子类构造函数


实例:


public class Test4 {/** * 父类 */static{System.out.println("1父类静态代码块");}{System.out.println("2父类非静态代码块");}public Test4(){System.out.println("3父类构造函数");}}public class Test5 extends Test4{/** * 子类 */static{System.out.println("4子类静态代码块");}{System.out.println("5子类非静态代码块");}public Test5(){System.out.println("6子类构造函数");}public static void main(String[] args) {new Test5();}}

运行结果:142356

0 0
原创粉丝点击