----反射のJavaの基本

アウトライン

毎日の仕事に反映されていないくらい、最近の春のソース、初期の依存性注入と反射の多くで使用される豆の内部の多くを見て、ここでは反射の基本です。

クラスフィールドの値と修正フィールドを取得

com.demo.springパッケージ;

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

パブリック クラスのテスト{

    列A = " こんにちは" ;
    列B = " GOGOGO " 

    公共 ボイド試験(){
        システム。アウト.println();
    }

}

クラスTest1を{
     公共 静的 ボイドメイン(文字列[]引数){

        してみてください{
            クラス = ClazzにClass.forName(<?> " com.demo.spring.Testを" );
             // 単一の属性値を得ることができ、このようにクラス
 //             フィールド、フィールドclazz.getDeclaredField =( "A")。

            O。オブジェクト = clazz.newInstance();
             // オブジェクトClass.forNameの効果は同じであるクラスと、クラスのインスタンスによって情報を取得する 
            。システムOUTの.println(clazz.equals(o.getClass()))。
            フィールド[]フィールド = clazz.getDeclaredFields()。
            (フィールドFIELD1:フィールド){
                 場合(field1.getName()に等しい(" ")|| field1.getName()に等しい(" B " )){
                    (field1.setAccessible 真の);
                     // 修正値フィールド 
                    。フィールド1 SET(O、新しい新しい文字列(" ABCD " ));
                     // のフィールド名取得 
                    システム。OUT .println(field1.getName());
                    。システムOUTの .println(" ------------------ " );
                     // 値が得られる 
                    。システムをOUT .println(フィールド1 GET (O))を、
                }
            }
        } キャッチ(例外e){
            e.printStackTrace();
        }
    }
}

更新します。

おすすめ

転載: www.cnblogs.com/gunduzi/p/12171784.html