数组实例化调用构造函数?

时间:2014-06-15 15:48:32

标签: java arrays

在java中遇到new关键字时,会创建一个对象并调用构造函数。

创建数组对象时调用哪个构造函数。

例如int [] a = new int [];

我们知道数组是对象。

1 个答案:

答案 0 :(得分:2)

Arrays不使用构造函数进行初始化。如果您尝试编译int[] array = new int[10];,您将获得类似下面的字节码:

bipush 10
newarray int
astore_1

另一方面,Person p = new Person();的字节码指令如下所示(注意调用newinit表示对构造函数的调用):

new test/Person
dup
invokespecial test/Person/<init>()V
astore_2

因此,数组在JVM中有自己的创建方式,与创建类对象不同。