Java でのオブジェクトの配列の作成
Java でオブジェクトの配列を作成する場合、その構文は初心者にとって誤解を招く可能性があります。 new A[4] が 4 つのオブジェクトの配列を初期化する C とは異なり、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 がオブジェクトに自動的にメモリを割り当てないためです。 。オブジェクトへの参照のみが初期化されます。この 2 段階のプロセスは面倒に思えるかもしれませんが、オブジェクト作成の柔軟性と制御が向上します。
指定された例では、arr 配列の各要素は個別のオブジェクトを表し、その関数と変数にアクセスできます。 null ポインタ例外が発生することはありません。これは、null ポインター例外が発生する参照のみを作成する場合とは異なります。
Java のアプローチは、割り当てと初期化を 1 つのステップで処理することでオブジェクトの作成を簡素化する C の動的メモリ割り当てとは異なります。 。ただし、Java の 2 段階のプロセスにより、オブジェクトのライフサイクル管理をより細かく制御できます。
以上がJava のオブジェクト配列の初期化は C とどう違うのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。