JAva反射アクセスメンバー変数を使用した値の例

1571 ワード

この例では、javaが反射を使用してメンバー変数にアクセスする値について説明します.皆さんの参考にしてください.具体的には以下の通りです.
1つのコード

import java.lang.reflect.*;
class Person
{
  private String name;
  private int age;
  public String toString()
  {
    return "Person[name:" + name +
    " , age:" + age + " ]";
  }
}
public class FieldTest
{
  public static void main(String[] args)
    throws Exception
  {
    //     Person  
    Person p = new Person();
    //   Person    Class  
    Class personClazz = Person.class;
    //   Person   name     
    //   getDeclaredField()                   
    Field nameField = personClazz.getDeclaredField("name");
    //                       
    nameField.setAccessible(true);
    //   set()   p   name       
    nameField.set(p , "Yeeku.H.Lee");
    //   Person   age     
    Field ageField = personClazz.getDeclaredField("age");
    //                       
    ageField.setAccessible(true);
    //   setInt()   p   age       
    ageField.setInt(p , 30);
    System.out.println(p);
  }
}


にうんてん
E:Javaクレイジーjava講義codes1818.4>java FieldTest Person[name:Yeeku.H.Lee,age:30]
Javaに関する詳細に興味のある読者は、「Javaオブジェクト向けプログラム設計入門と進級チュートリアル」、「Javaデータ構造とアルゴリズムチュートリアル」、「Java操作DOMノードテクニックまとめ」、「Javaファイルとディレクトリ操作テクニックまとめ」、「Javaキャッシュ操作テクニックまとめ」のトピックを参照してください.
本文で述べたjavaプログラム設計に役立つことを願っています.