はじめまして
yoheiMです。
駆け出しシステムエンジニアとして、学んだことを覚え書きしていきたいと思います。
さて、今日は、JavaのリフレクションのうちFieldクラスを使ってみたので覚書きしたいと思います。
java.lang.reflect.Fieldを用いると、クラス内のprivateフィールドにもアクセス出来る。
実際のソースを書いてみました。
public class FieldWork {
public static void main(String[] args) throws Exception{
AAA aaa = new AAA();
//Fieldインスタンスを作成
Field field = aaa.getClass().getDeclaredField("hoge");
field.setAccessible(true);
//表示
System.out.println(field.get(aaa));
//フィールド値を変更してみる
field.set(aaa, "変更したよ");
System.out.println(field.get(aaa));
}
}
class AAA {
private String hoge = "お試し";
}
ん〜、privateメソッドにアクセスできるとは凄いですね。。