JavaのリフレクションAPI

  1. メインターゲットを反映
    1. クラス
    2. コンストラクタ
    3. フィールド
    4. 方法
  2. APIクラス
    1. Classオブジェクトを取得します。
      1. Object.getClass()
      2. className.class
      3. Class.forName()
      4. Class.getComponentType() タイプのオブジェクトの配列を取得する要素
    2. クラスの情報を取得します
      1. getDeclaredClasses()パブリック、プライベート、保護された内部クラスとインタフェースで定義されたクラスを返します。しかし、継承された内部クラスおよびインタフェースが含まれていません。
      2. getClasses() バックだけでなく、親クラスから、クラスで定義された公共の内部クラスとインタフェースに、内部クラスやインターフェイスに親インターフェイスを継承
      3. getClassLoader() こうしたロードするようにクラスローダを返します。
      4. getConstructors() publicコンストラクタを返します。
      5. getDeclaredConstructors() 戻るすべてのコンストラクタへ
      6. getFields() すべてのパブリックメンバ変数を取得します。
      7. getDeclaredFields() すべてのメンバ変数を取得します。
      8. getDeclaredMethods() 相続などのような方法へのすべてのパブリックアクセス、
      9. getDeclaredMethods() このクラスのすべてのメソッド(パブリック、プライベート)で取得定義されていますが、継承されたメソッドが含まれていません。
    3. プロデュースオブジェクト
      1. newInstance() 唯一の引数なしのコンストラクタを使用します
  3. API-フィールド
    1. (インスタンス変数とクラス変数を含む)の情報取得メンバ変数のクラス
      1. 変数名を取得します。 field.getName()
      2. 変数の型を取得します。 field.getType()
      3. ジェネリック医薬品のための可変パラメータの型を取得します。 field.getGenericType()
      4. 変数の修飾子が作るfield.getModifiers()意味を持っていますModifier类
      5. 変数クラスを返します field.getDeclaringClass()
    2. 読み書きするメンバ変数の値
      1. メンバ変数の値を読みます

        // public 
        field.get(foo)
        // private
        field.setAccessible(true)
        field.get(foo)
      2. メンバ変数の値を変更します。

        field.set(foo, "123")
        // private
        field.setAccessible(true)
        field.set(foo, "123")
  4. API-方法
    1. 情報を取得する方法
      1. method.getName()
      2. ...
    2. リフレクションメソッド呼び出し
      1. method.invoke()
  5. API-コンストラクタ
    1. newInstance() オブジェクトを生成すると、あなたは、パラメータ化されたコンストラクタを使用することができます

おすすめ

転載: www.cnblogs.com/bosslv/p/11364780.html