オブジェクトは他のオブジェクトが所有する参照を変更できないため、独自のメンバー メソッドからオブジェクト参照を無効にすることはできません。ただし、すべてのメンバー フィールドを null に設定できます。将来の呼び出し元は、オブジェクトにアクセスしようとするたびに、必ず NullPointerException を取得します。考えてみれば、それは自殺よりもましだ。
運が良ければ、アプリケーション全体を強制終了させることもできます!
オブジェクトが他のオブジェクトがすでに作成したすべての参照をnullに設定できる場合、オブジェクトの世界はひどい混乱になります.OOPでは、オブジェクトはそのプロパティ(とにかくプライベートのもの)を「所有」し、それらを外部から変更できるためです。ソースは、カプセル化の概念を完全に破ります。
今では、それが便利な場合があると確信しています (そうでなければ、この質問をすることはなかったでしょう)。
唯一の方法は、オブジェクトとそれへの参照を保持するオブジェクトを共通の戦略に同意させることです。
他のことをしようとする前に呼び出さなければならない isDead メソッドのように。
また、外部オブジェクトから憂鬱なオブジェクトへのアクセスをプロキシする PsychologicalSupport オブジェクトを実装することもできます。あなたのオブジェクトが死にたいとき、彼はそれについて Support オブジェクトに通知するだけでよく、PS オブジェクトはメッセージのプロキシを停止し、あなたのオブジェクトはガベージ コレクションされます。