2017-04-26 1 views
-1

以前のオブジェクトを指し示す変数が別のオブジェクトを指しているときに、古いオブジェクトがどうなるかを知りたいと思います。削除されているのか、それとも何ですか?すでに他のオブジェクトを持っている変数に新しいオブジェクトを設定すると、古いオブジェクトはどうなりますか?

classA var = new classA(); 
var = new classB(); 

は、変数「VAR」が設定されている場合は、「クラスA」(それが変数で作成された「VAR」)が削除されたオブジェクトは、オブジェクト「ClassBの」に等しいですか?

+0

両方とも、最初の答えと2番目の答えは、あなたの質問について多くの詳細を示します。そして、ヒント:そのようなことは**すべての場所で**文書化されていることを理解してください。ガベージコレクションをカバーする合理的な文書は、そのようなものを説明します。あなたは本当に本当に本当に本当にこの種の質問をする前にいくつかの研究を行う必要があります。 – GhostCat

+0

申し訳ありませんが、私があなたに話す前に "ガベージコレクション"について知りませんでした。私は私の質問を検索し、私は私の言葉で明確な答えを見つけることができませんでした。 –

答えて

3

オブジェクトへのすべての参照が存在しなくなると、そのオブジェクトはガベージとしての適格性の対象となります。遅かれ早かれ、ガベージコレクタはメモリからこのオブジェクトを削除します。しかし、記憶が豊富であれば、「後で」は全く起こらないかもしれません。保証はありません。

関連する問題