在 Java 中创建对象数组
在 Java 中创建对象数组时,语法可能会误导初学者。与 C 不同,C 中的 new A[4] 初始化一个包含四个对象的数组,而 Java 的 A[] arr = new A[4];只创建对象的引用(指针)。
要实例化实际对象,您必须手动分配每个引用:
<code class="java">A[] arr = new A[4]; for (int i = 0; i < 4; i++) { arr[i] = new A(); }</code>
这是必要的,因为 Java 不会自动为对象分配内存。仅初始化对对象的引用。这个两步过程可能看起来很麻烦,但它提供了更大的灵活性和对对象创建的控制。
在给定的示例中,arr 数组的每个元素代表一个不同的对象,您可以访问它的函数和变量不会遇到空指针异常。这与仅创建引用的情况不同,后者会导致空指针异常。
Java 方法与 C 的动态内存分配不同,后者通过一步处理分配和初始化来简化对象创建。然而,Java 的两步过程允许对对象生命周期管理进行更精细的控制。
以上是Java 的对象数组初始化与 C 有何不同?的详细内容。更多信息请关注PHP中文网其他相关文章!