0

リフレクションを介して「ReflectMe」クラスを検査しています。
getDeclaredFields メソッドを使用して、「str」フィールドを取得しました。

ここで、静的メソッドがそのフィールドに割り当てられているクラス「Target」を取得する必要があります。

出来ますか?

コード:

package myproj.reflect;
public class Target {
    public static final String theString = "abcd";
}

package myproj.reflect;
public class ReflectMe {
    private String str = Target.theString;
}


public static void main(String[] args) {
    ClassLoader loader = ClassLoader.getSystemClassLoader();                      
     String theclass = "myproj.reflect.ReflectMe";                   
    Class myClass = loader.loadClass(theclass);
    Field[] fields = myClass.getDeclaredFields();
}

}

つまり、「Target」クラスを取得する必要があります。

4

1 に答える 1

2

viaTargetのクラス定義からクラスを取得しようとしている場合。ReflectMeフィールド、リフレクション API を介してそれを行うことはできないと思います。クラス定義とインスタンス変数の値を取得できますが、式自体を内省することはできません。

于 2012-11-15T20:41:53.090 に答える