摘要: java编译器保证所有变量在使用之前都得到初始化。虽然话很简单,但是理解起来还是很难的,尤其是加入static、继承和多态等等java特性,到现在我还没完全理解透,写此博文纯粹总结一下。1、首先是类装载阶段,在java中有两个隐藏了的方法init和clinit,在类的装载阶段,jvm会调用clinit方法对静态类变量和static初始化块进行初始化,这个阶段并没有实例化任何变量,所有的static对象和static代码段都会在加载时依程序中的顺序(即,定义类时的书写顺序)而依次初始化,当然只会被初始化一次。这个阶段加载顺序是先基类(到达Object类为止)后子类。2、进入实例化对象阶段,Jav 阅读全文
posted @ 2013-01-26 22:25 leealways87 阅读(390) 评论(0) 推荐(0) 编辑