8

clone()コンストラクターを呼び出さずにオブジェクトを作成するといつも思っていました。

しかし、Effective Java Item 11: Override clone 慎重に を読んでいるときに、次のようなステートメントを見つけました。

「コンストラクターを呼び出さない」という規定は強すぎます。正常に動作する clone メソッドは、コンストラクターを呼び出して、構築中のクローンの内部にオブジェクトを作成できます。クラスが final の場合、 clone は、コンストラクターによって作成されたオブジェクトを返すことさえできます。

誰かが私にこれを説明してもらえますか?

4

2 に答える 2