2014-06-15 41 views
1

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

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

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

我们知道数组是对象。

回答

2

数组不使用构造函数进行初始化。如果你尝试编译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的创建方式。

相关问题