Javaは非常に重要なポイントは、すべてのクラスはObjectクラスのデフォルトを継承知識であるので、あなたが継承したオブジェクトのメソッドを作成するすべてのクラスは、すべてのクラスは、当然のことながら、オブジェクトを上書きすることができ、共通のメソッドをクラスオブジェクトをObjectにアップキャストすることができ等しく、書き換えのオブジェクトクラスメソッドのtoStringメソッドなど時々書き換えが必要であり、元の2つのオブジェクトを比較する方法は、参照が等しいかどうか、元のtoStringメソッドは、オブジェクトへの参照を返しているに等しいです。
パブリック クラスTestEquals { プライベート文字列名; プライベート int型の年齢; パブリック文字列のgetName(){ 戻り名。 } 公共 ボイドのsetName(文字列名){ この .nameの= 名前。 } 公共 INT getAge(){ 戻り年齢; } 公共 ボイド setAge(int型の年齢){ この .age = 年齢。 } @Override 公共 ブール等しい(Objectオブジェクト){ TestEquals OBJ=(TestEquals)オブジェクト; // 入力する高低タイプ IF(obj.getName()== この .getName()){ //に同じオブジェクトと同じオブジェクトの名前を リターン trueに; } 戻り falseに; } @Override 公共の文字列のtoString(){ StringBuilderのSB = 新新のStringBuilder(); sb.append( "名:" + この .getName()+ "\ N-" + "年齢" + この.getAge()); を返す sb.toString( ); // のStringBuilderオーバーライドtoStringメソッドは、文字列自体を返し } パブリック 静的 ボイドメイン(文字列[]引数){ TestEquals OBJ1 = 新しいTestEquals()。 TestEquals obj2が = 新しいTestEquals(); obj1.setName( "张三" ); obj1.setAge( 18 )。 obj2.setName( "张三" ); System.out.println(obj1.equals(OBJ2))。 System.out.println(obj1.toString())。 } }