質問: null) return false; if(o instanceof class1){ return this.class1.equals((class1) o); if(o instanceof class2){ return this.class2.equals((class2) o); ... } ``` これはこれまでに役立つだろうか?ここでは、それぞれのクラスに静的なオーバーロードされたequals()メソッドを作成することを前提としています(ただし、キャストしていれば多態性が自動的に処理されます)。
回答: 意味的には、これは良い考えだとは思わない。等価はクラス型に基づいてはならず、インスタンス変数に基づいているべきです。 それとは別に、Appleは決して梨と同じではなく、他のりんごにしかならないはずです。