日期:2014-05-20  浏览次数:20682 次

new一个对象数组时,如果没有默认构造器,是不是就不调用构造器了?
比如说,我自己定义了一个MyClass,它有一个接受String参数的构造器。(于是就木有默认构造器了)
于是,当我写MyClass[] test = new MyClass[10];这句话的时候,系统先会在堆内存区开辟10个足够大的对象空间。
问题:
我这里木有指定调用构造器的参数,它这个类又没有默认构造器,那是不是就在new的时候,只是分配空间,不执行构造器了呢?可是我看书上说的,都是new的同时会顺带调用构造器的啊?
多谢各位牛人指点迷津!
------解决方案--------------------
尽信书不如无书。
MyObject []myObjects = new MyObject[10];这个语句只是定义一个有10个元素的MyObject数组,数组名为myObjects。但myobjects[0]到myobject[9]10个MyObject对象都是null,未分配空间的。