インタビュー知識2.5:記事を改善するためのJavaオブジェクトのコピー - オブジェクトのクローン(コピー)

61.なぜクローンを使うのか?

62.どのようにオブジェクトのクローンを達成するには?

63.深い浅いコピーコピー差があるとは何ですか?

 

61.なぜクローンを使うのか?

プロセスの目的は、元のデータの次の動作を維持したかったように、それが必要クローニングします。

62.どのようにオブジェクトのクローンを達成するには?

オブジェクトクラスのcloneメソッドは、オブジェクトをコピーすることで、オブジェクトは別の独立した、独自のメモリ空間が割り当てられます。

あなたはcloneメソッドを使用してオブジェクトを作成するときは、インタフェースを実装する必要があります:Cloneableをは、このインターフェイスは、マーカーインターフェイスです方法はありません。Objectクラスので、権利修飾cloneメソッドが保護されていますので、我々は、オブジェクトのクローンを作成する場合、オブジェクトは、cloneメソッドをオーバーライドするためにクローン化されました。そして、他の場所で、国民を修正する権限は、このクローニング法を呼び出すことができます。

63.深い浅いコピーコピー差があるとは何ですか?

参照型、過去の参照のみのコピー、つまり、オブジェクトがクローン化され、元のオブジェクトの共通プロパティ参照の型への参照である場合、浅いクローンは、データの基本的なデータタイプが過去に複製されるときに、オブジェクトをクローン。
ディープクローン:クローニングする場合、基本データ型とデータ参照のデータ型、コピー中になります。クローンオブジェクトと元のオブジェクトは、共通の参照タイプ参照しない
 という欠点を:深いクローニングにおいて、参照オブジェクトの関係はより複雑で面倒なクローニングする場合、各オブジェクトがクローン化されなければならないからです。
   解決策:解決するためにシリアライズを使用することができます。

Javaの向上の記事 - オブジェクトのクローン(コピー)

クローンコピーオブジェクトを使用するには?浅いクローンと深いクローン

デフォルトで保護された権利と特権のJava違い

おすすめ

転載: www.cnblogs.com/zfyang2429/p/11131694.html