反射获取Java接口中的所有字段?

时间:2011-07-13 23:55:53

标签: java

是否可以反射性地获取java界面中的所有字段?例如:

import java.lang.reflect.*;

public class field1 {

    private double d;  
    public static final int i = 37;  
    String s = "testing";

    public static void main(String args[]) {
        try {
            Class cls = Class.forName("field1");

            Field fieldlist[] = cls.getDeclaredFields();
            for (int i = 0; i < fieldlist.length; i++) {
                Field fld = fieldlist[i];
                System.out.println("name= " + fld.getName());
                System.out.println("-----");
            }
        } catch (Throwable e) {
            System.err.println(e);
        }
   }
}

固定!!

我忘了在Class.forName(“field1”)中添加完整的classpath;应为 Class.forName(“com.x.y.z.field1”);

1 个答案:

答案 0 :(得分:-1)

  

是否可以反射性地获取java界面中的所有字段?

当然可以。你在这里使用相同的代码应该在一个接口上工作。请记住,您从界面获得的任何字段都是staticfinal