黑马程序员技术交流社区

标题: Person p = new Person(); 它在内存中做了哪些事情? [打印本页]

作者: nblity007    时间: 2016-7-28 23:18
标题: Person p = new Person(); 它在内存中做了哪些事情?
        Person p = new Person(); (面试题)
        它在内存中做了哪些事情?
答案:
                A:将Person.class文件加载到内存中。
                B:在堆内存中创建一个对象Person。
                C:把Person中的属性进行默认初始化。
                D:把Person中的属性进行显示初始化。
                E:调用构造代码块(如果没有,不执行这个操作)。
                F:调用构造函数进行初始化。
                G:在栈内存中声明Person类型的变量P。
                H:把堆内存的地址(引用)赋给了栈内存中P。

作者: Baymax的悲伤    时间: 2016-7-28 23:21
e的构造代码块是什么,刚刚学习,不懂啊
作者: geeksi    时间: 2016-7-29 00:24
Baymax的悲伤 发表于 2016-7-28 23:21
e的构造代码块是什么,刚刚学习,不懂啊

类中方法外用大括号括起来的语句块,默认每次创建对象都会执行该语句块,实际用途不大,但面试题会考。
作者: 花陌相惜    时间: 2016-7-29 00:33
我觉得  你的e 有问题    因为java系统默认有构造方法    就是一个空参的构造方法  只是我们看不到而已   学了构造方法你就会发现  创建对象new Person()都会调用构造方法
作者: 18072727834    时间: 2016-8-4 22:52
下边的答案解释的很棒
作者: 胡eason    时间: 2016-8-5 17:42
加油!加油!加油!加油!




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