1.説明
1.Objectクラスは、Javaクラスのルートクラスです。
2.指定された親クラスは、クラス宣言でextendsキーワードをされていない場合、デフォルトの親クラスはjava.lang.Objectクラスです。以下のような:
クラス人{}
それはと同等です。
クラス人} {オブジェクトを拡張します
3.クラス継承示されていない場合により継承の影響、すべてのクラス継承オブジェクト・クラスのデフォルトに、オブジェクトクラス、オブジェクト・クラスの関数(プロパティ、メソッド)を継承デフォルトの汎用性を有するであろう。
4.Objectクラスは唯一の空の引数のコンストラクタを宣言します
2.主な構造
3. ==演算子とequals()
==演算子:
>比較すると、基本的なタイプ値:限り、2つの変数が同じであるとして、それは本当です。
>(同じオブジェクトをポイント)比較参照タイプ参照:同じオブジェクトに対してのみポイントは、== trueを返すのみ。
人物P1 =新しい人();
人物P2 =新しい人();
IF(P1 == P2){}
注意:
「==」を比較すると、両側のデータ・シンボルは、互換性のある型(基本型のデータを自動的に除外変換することができる)、またはコンパイラエラーでなければなりません
コード:
パブリック クラスのテスト{ 公共 静的 ボイドメイン(文字列[]引数){ // 基本データ型の INT A = 10 ; int型 B = 10 ; IF(A == B){ するSystem.out.println( "A = B" ); // A = B } 他{ するSystem.out.println( "A = B!" ); } // 参照データ型の 人物P1 = 新しい新規人物(); 人物P2 = 新しい新しい人(); IF(P1 == P2){ するSystem.out.println( "同じアドレスにP1及びP2点" ); } 他{ するSystem.out.println( "参考文献P1およびP2異なるアドレス"); // P1およびP2アドレスの異なる基準 } } } クラス人{ 文字列名; int型年齢; 公共 ボイド(EAT){ System.out.printlnは( "食べます" ); } }
()メソッドに等しいです。
どのように等号を上書きすることができますか()?
クラスユーザー{ 文字列名。 int型の年齢; // 重写其等号()方法 パブリック ブール等しい(オブジェクトobj){ 場合(== OBJ 本){ 戻り 真。 } もし(OBJ のinstanceof ユーザ){ ユーザU = (ユーザー)OBJ。 戻る この .ageを== u.age && この.name.equals(u.name)。 } を返す 偽。 } }
注:カスタム開発が自動的に、等号を()をオーバーライド生成されません。
4.toString()メソッド
どのようにのtoString()メソッドをオーバーライドするには?
// 自动实现 @Override 公共の文字列のtoString(){ リターン "カスタマー[名=" +名+ "年齢=" +年齢+ "]" ; }
著者:Javaの美しさ
日付:2020年3月29日