メンバ変数の取得

1、Classオブジェクトは、メンバ変数を取得します:

クラスClassの一般的な方法:

 

Personクラスを作成します:

パッケージpers.reflect.person。

パブリック クラス人{
 プライベート文字列名;
プライベート int型の年齢;
公共の文字列の趣味。
公共の文字列の高さ。
保護された文字列のセックス。
文字列のアドレス。

パブリック人(){ 
    
} 
公共人(文字列名、int型の年齢){
     この .nameの= 名前。
    この .age = 年齢; 
} 


@Override 
パブリック文字列のtoString(){
     リターン " 人[NAME = " +名+ 、年齢=" +年齢+ " 、趣味= " + 趣味
             + " 、高さ= " +高さ+ " 、性別= " +性別+ " 、アドレス= " + アドレス
             + " ] " ; 
} 
パブリック文字列のgetName(){
     戻り名。
} 
公共 ボイドのsetName(文字列名){
     この .nameの= 名; 
} 
公共 のint getAge(){
     戻り年齢; 
}
公共 ボイド setAge(int型の年齢){
     この .age = 年齢; 
} 

}
インポートをjava.lang.reflect.Field; 

輸入pers.reflect.person.Person。

パブリック クラスReflectDemo { 

    公共 静的 ボイドメイン(文字列[]引数)はSecurityExceptionが、スロー
            持たないNoSuchFieldException、はIllegalArgumentException、
            IllegalAccessExceptionが{ 

        クラスc =人数。クラス
        システム。アウト .println(" れるGetFields()、获取公共的成员变量:" ); 
        フィールド[]フィールド = c.getFields()。
        (:フィールドフィールドフィールド){ 
            システム。アウト .println(フィールド);
        }

        システム。OUT .println(" のgetField()、指定されたパブリックメンバ変数を取得する:" ); 

        フィールド、hobbyField = c.getField(" 趣味" ); 
        システム。OUT .println(hobbyField); 

        システム。OUT .println(" getDeclaredFields()は、改質に関わらず、メンバ変数のすべてを取得する。

        フィールドを、[] fields1 = c.getDeclaredFields();
         (フィールド、フィールド:fields1){ 
            。システムOUT ; .println(フィールド)
        } 

        。システムOUT .println(" 指定されたプライベートメンバ変数を取得します" ); 

        フィールド、nameField = c.getDeclaredField(" 年齢" ); 

        システム。OUT .println(nameField); 

    } 
}

 図2に示すように、フィールドのクラスの一般的な方法:

(1)戻り変数のタイプ:

(2)プロパティの名前を返します。

 

おすすめ

転載: www.cnblogs.com/zhai1997/p/11390314.html