オブジェクト指向のクラスを使用して、21オブジェクト-----

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日

おすすめ

転載: www.cnblogs.com/897463196-a/p/12592679.html