Javaでは、なぜあなたはtoStringメソッドを上書きしたいですか?

TEST5は、最初のクラスを定義します。そして、その取得、セット方法を書きました。

パッケージTEST5。

パブリック クラスTEST5 {
     プライベート文字列名;
    プライベート文字列のセックス。
    プライベート int型はありません。
    
    
    公共 のボイドショー(){ 
        System.out.printlnは( "这是我的展示方法!!!!" ); 
    } 
    パブリック文字列のgetName(){
         戻り名。
    } 
    公共 ボイドのsetName(文字列名){
         この .nameの= 名前。
    } 
    パブリック文字列getSex(){
         戻り性別; 
    } 
    公共 のボイドsetSex(文字列セックス){
         この .sex = セックス; 
    } 
    公共 のint getNo(){
         リターンなし; 
    } 
    公共 ボイド SetNo(INT NO){
         この .NO = NOは; 
    } 
} 


次いでクラスTEST6主機能を定義します、として次の

パッケージ。TEST5 

パブリック クラスTEST6 {
 公共 静的 ボイドメイン(文字列[]引数){ 
    クラス <?>デモ= NULL ;
     試み{ 
        デモ = Class.forNameの( "test5.Test5" )。
    }キャッチ(ClassNotFoundExceptionが電子){
         // TODO自動生成されたcatchブロック
        e.printStackTrace(); 
    } 
    TEST5 TEST5 = 新しいTEST5()。
    (test5.setName "暁明" ); 
    test5.setNo( 001 )。
    test5.setSex( "男" ); 
    System.out.println(TEST5)。
} 
}

上記のプログラムの発見に以下の結果を実行します。

test5.Test5@e2cb55

もちろん、これは我々がオブジェクトクラスは、文字列のちょうど直接印刷のtoStringあるという単純な理由のために、取得したいのは、このプロパティTEST5の値ではありません、

デジタルに変換された文字、オブジェクト、オブジェクトのダイレクト印刷ハッシュコードを印刷することができます。以上の結果は、TEST5および対応するハッシュ値です。

あなたはtoStringメソッドをオーバーライドする必要がありTEST5各属性の値を取得したい場合。次のとおりです。

パブリック文字列のtoString(){
         リターン "[" + この .nameの+ " "+ この .sex +" "+ この .NO +"]" 
    }

次のようにTEST5を記述する必要があります。

パッケージTEST5。

パブリック クラスTEST5 {
     プライベート文字列名;
    プライベート文字列のセックス。
    プライベート int型はありません。
    
    パブリック文字列のtoString(){
         リターン "[" + この .nameの+ " "+ この .sex +" "+ この .NO +"]" 
    } 
    公共 ボイドショー(){ 
        System.out.printlnは( "这是我的展示方法!!!!" ); 
    } 
    パブリック文字列のgetName(){
         戻り名。
    } 
    公共 のボイドsetName(文字列名){
         この .nameの= 名前。
    } 
    パブリック文字列getSex(){
         戻り性別; 
    } 
    公共 ボイドsetSex(文字列性別){
         この .sex = セックス。
    } 
    公共 INT getNo(){
         戻りいいえ。
    } 
    公共 ボイド setNo(INT NO){
         この .NOは= いいえ。
    } 
}

TEST6があるときの調査結果は、再び実行します。

[暁男1]

TEST5は、最初のクラスを定義します。そして、その取得、セット方法を書きました。

パッケージTEST5。

パブリック クラスTEST5 {
     プライベート文字列名;
    プライベート文字列のセックス。
    プライベート int型はありません。
    
    
    公共 のボイドショー(){ 
        System.out.printlnは( "这是我的展示方法!!!!" ); 
    } 
    パブリック文字列のgetName(){
         戻り名。
    } 
    公共 ボイドのsetName(文字列名){
         この .nameの= 名前。
    } 
    パブリック文字列getSex(){
         戻り性別; 
    } 
    公共 のボイドsetSex(文字列セックス){
         この .sex = セックス; 
    } 
    公共 のint getNo(){
         リターンなし; 
    } 
    公共 ボイド SetNo(INT NO){
         この .NO = NOは; 
    } 
} 


次いでクラスTEST6主機能を定義します、として次の

パッケージ。TEST5 

パブリック クラスTEST6 {
 公共 静的 ボイドメイン(文字列[]引数){ 
    クラス <?>デモ= NULL ;
     試み{ 
        デモ = Class.forNameの( "test5.Test5" )。
    }キャッチ(ClassNotFoundExceptionが電子){
         // TODO自動生成されたcatchブロック
        e.printStackTrace(); 
    } 
    TEST5 TEST5 = 新しいTEST5()。
    (test5.setName "暁明" ); 
    test5.setNo( 001 )。
    test5.setSex( "男" ); 
    System.out.println(TEST5)。
} 
}

上記のプログラムの発見に以下の結果を実行します。

test5.Test5@e2cb55

もちろん、これは我々がオブジェクトクラスは、文字列のちょうど直接印刷のtoStringあるという単純な理由のために、取得したいのは、このプロパティTEST5の値ではありません、

デジタルに変換された文字、オブジェクト、オブジェクトのダイレクト印刷ハッシュコードを印刷することができます。以上の結果は、TEST5および対応するハッシュ値です。

あなたはtoStringメソッドをオーバーライドする必要がありTEST5各属性の値を取得したい場合。次のとおりです。

パブリック文字列のtoString(){
         リターン "[" + この .nameの+ " "+ この .sex +" "+ この .NO +"]" 
    }

次のようにTEST5を記述する必要があります。

パッケージTEST5。

パブリック クラスTEST5 {
     プライベート文字列名;
    プライベート文字列のセックス。
    プライベート int型はありません。
    
    パブリック文字列のtoString(){
         リターン "[" + この .nameの+ " "+ この .sex +" "+ この .NO +"]" 
    } 
    公共 ボイドショー(){ 
        System.out.printlnは( "这是我的展示方法!!!!" ); 
    } 
    パブリック文字列のgetName(){
         戻り名。
    } 
    公共 のボイドsetName(文字列名){
         この .nameの= 名前。
    } 
    パブリック文字列getSex(){
         戻り性別; 
    } 
    公共 ボイドsetSex(文字列性別){
         この .sex = セックス。
    } 
    公共 INT getNo(){
         戻りいいえ。
    } 
    公共 ボイド setNo(INT NO){
         この .NOは= いいえ。
    } 
}

TEST6があるときの調査結果は、再び実行します。

[暁男1]

おすすめ

転載: www.cnblogs.com/vole/p/12165336.html