黑马程序员技术交流社区

标题: 类中元素的加载顺序,能不能详细讲解下? [打印本页]

作者: 沉默de羔羊    时间: 2013-3-19 09:35
标题: 类中元素的加载顺序,能不能详细讲解下?
本帖最后由 沉默de羔羊 于 2013-3-19 17:06 编辑

比如:static块,static final,final,private属性/方法,public属性/方法,构造函数,带参数构造函数,内部类...

可能我说的还不全,这里我一直到不是很清楚,有点模糊!

望赐教!谢谢
作者: 寇弘禄    时间: 2013-3-19 10:39
例如:person p = new person();的加载顺序。
1,现将person类加载进内存。
2,将person类中的static 属性和方法加载进内存的方法区中的静态区。
3,在栈内存中分配空间存储p,在堆内存中分配空间存储new person();
4,对堆内存中的new Person()的对象属性进行默认初始化,然后是构造代码块执行,然后执行构造函数。
5,将堆内存中new person()的地址付给栈内存中的 Person p。

没有被static修饰的是随着对象的建立才加载,顺序是按照代码从上到下的顺序执行。 (我个人的理解,不敢保证完全正确)。

作者: 黄玉昆    时间: 2013-3-19 12:07
你可以看看这个帖子:
http://bbs.itheima.com/forum.php ... =%E5%8A%A0%E8%BD%BD
其实,像这种问题,你可以通过搜索关键字的方式,快速找到答案
作者: 沉默de羔羊    时间: 2013-3-19 17:06
黄玉昆 发表于 2013-3-19 12:07
你可以看看这个帖子:
http://bbs.itheima.com/forum.php?mod=viewthread&tid=36624&highlight=%E5%8A%A0%E ...

嗯,谢谢,这种问题百度上是说的都不全!不过这个论坛帖子还不错!到是可以找到答案!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2