黑马程序员技术交流社区

标题: 一个类的实例化过程有哪些步骤?(*面试题) [打印本页]

作者: a963708336    时间: 2016-4-20 00:32
标题: 一个类的实例化过程有哪些步骤?(*面试题)
Student s = new Student(); 在内存中到底执行了哪些步骤。

1,加载Sutdent.class文件进内存(类加载器)

2,在栈内存为 s 变量申请一个空间

3,在堆内存为Student对象申请空间

4,对类中的成员变量进行默认初始化

5,对类中的成员变量进行显示初始化

6,有构造代码块就先执行构造代码块,如果没有,则省略

7,执行构造方法,通过构造方法对对对象数据进行初始化

8,堆内存中的数据初始化完毕,把内存值复制给 s 变量
作者: 菊花爆满山    时间: 2016-4-20 00:37
少了一个静态代码块,随着类的加载而执行,只执行一次,用于给类进行初始化
作者: MasterLHH    时间: 2016-4-20 00:51
整理得很好,很不错
作者: 小红花    时间: 2016-4-20 17:07
谢谢分享
作者: 忆々疯ラ萧萧    时间: 2016-4-20 22:34
为分享点赞
作者: xiangyu515    时间: 2016-4-20 22:50

少了一个静态代码块
作者: 进击的鬼笔环肽    时间: 2016-4-20 23:11
构造代码块和静态代码块一般功能是啥来着
作者: 东方乔恩    时间: 2016-4-20 23:20
今天刚学的 这里,有点晕,看到这个真心不错




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