3.Java变量初始化顺序

来源:互联网 发布:淘宝网包邮服务 编辑:程序博客网 时间:2024/05/21 17:15

1.非静态变量初始化顺序


顺序:变量定义的先后顺序决定了初始化的顺序。即使变量散布于方法定义之间,它们仍旧会在任何方法(包括构造器)被调用之前得到初始化。


2.静态变量初始化顺序

顺序:当一个类中含有静态变量的时候,当这个类被触碰后(比如new一个对象,或者用 类.静态对象),该类中的所有静态变量将会按照变量定义的顺序开始初始化。



3.情况分析(类中有静态成员和非静态成员):


假定有一个类,类里面有静态成员和非静态成员


操作A:new 一个对象

加载顺序:先按照静态成员变量定义的顺序加载静态成员,之后,在按照变量定义的顺序加载非静态成员。



操作B:类名.静态成员

加载顺序:按照静态成员变量定义的顺序加载静态成员,不加载非静态成员。



最后修改于 :2017年12月7日17:19:09
原创粉丝点击