您的位置:首页 > 其它

变量初始化顺序(不考虑继承关系)

2013-03-24 10:00 260 查看
一、变量初始化顺序:

(1)在加载类时(第一次实用类),为类中的静态成员变量分配存储空间,并赋予默认值;

(2)执行静态成员变量的初始化。静态成员变量的初始化有两种:在声明时直接初始化与静态初始化块。两种初始化方式按照在类中出现的顺序来执行

(3)如果创建了类的对象,便在堆中为类的实例分配内存空间,实例变量被初始化为默认值

(4)执行实例变量的初始化操作。实例变量的前两种初始化方式:声明时直接初始化与初始化块,这两种初始化方式会按照在类中出现的顺序(声明的顺序)来执行

(5)执行类的构造器。

二、jvm载入某个类的条件:

(1)使用了该类的静态成员变量

(2)调用了该类的静态方法

(3)生成了该类的实例

(4)加载子类

(5)发射(Class.forName("类名"))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: