汇编网首页登录博客注册
xiaofkg的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
好友圈
文章收藏
友情链接

[2009-10-28 23:17] 类的初始化

为了总结对象的创建过程,考虑一下名为Dog的类:
1、即使Dog类没有明确使用static关键字,constructor实际上就一个static方法。 所以Dog类型的对象第一次被创建的时候,或者Dog类的static成员第一次被访问的时候,Java解释器必须通过查找类路径来得到Dog.class文件。
2、当Dog.class文件被加载之后,(你将在后面学习创建类对象的知识),它的所有statics被初始化。 因此,当Class对象第一次被加载的时候,static初始化只发生一次。
3、当你使用new Dog()创建了一个对象时,Dog对象首先在堆里分配到足够的存贮空间。
4、这块空间自动为Dog里的所有primitives设置默认值(numbers类型为零,还有boolean和char的相应默认值),为对象引用赋予值null。
5、执行field定义时的初始化。
6、Constructor执行。 正如你将在Reusing Classes一章里看到的,constructor执行可能涉及到相当多的动作,尤其是当继承卷入其中的时候。
评论次数(0)  |  浏览次数(572)  |  类型(心得体会) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码