当java中遇到new关键字时,就会创建一个对象并调用构造函数。
那么创建数组对象时会调用哪个构造函数。
例如 int[] a = new int[];
我们知道数组是对象。
最佳答案
数组不使用构造函数来初始化。如果你尝试编译int[] array = new int[10];
你会得到类似下面的字节码:
bipush 10
newarray int
astore_1
另一方面,Person p = new Person();
的字节码指令如下所示(注意对 new
的调用和 init
表示对构造函数的调用):
new test/Person
dup
invokespecial test/Person/<init>()V
astore_2
因此,数组在 JVM 中有自己的创建方式,与创建类对象不同。
关于java - 数组实例化调用构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24231364/