何がしたいのかいまいちよくわかりませんがインスタンス変数(ただしくはstaticじゃない変数)を取得するものを書いてみました・・
java
1 static T t=new T();//staticなのは単純にmainから呼べないからです
2 public static void main(String args[]){
3 Field[] fl =getInstaceField(T.class);//クラスのまま指定する場合
4 Field[] fl2 =getInstaceField(t.getClass());//インスタンスを指定する場合
5 for (Field f:fl) {
6 System.out.println(f.getName());
7 }
8 }
9 static Field[] getInstaceField(Class<?> c){
10 Field[] ml=c.getDeclaredFields();//ここにstaicも含めた変数が入る
11 //c.getDeclaredFields()によってこのクラスのフィールドをすべて取得している
12 ArrayList<Field> r=new ArrayList<Field>();//staticじゃない変数が入る
13 for(Field m:ml){
14 if(!Modifier.isStatic((m.getModifiers()))){
15 //Modifier.isStatic((m.getModifiers()))によってstaticフィールドなのか判定
16 r.add(m);
17 }
18 }
19 return r.toArray(new Field[r.size()]);
20 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。