从类中检索公共字段

时间:2014-11-15 22:37:08

标签: java field

我想使用getFields()来检索类中的公共字段,但这不起作用,数组的长度始终为0。我是否需要使用getter或getDeclaredFields()

Field[] fields = gameClass.getFields();

gameClass中包含的类:

public class Solitaire {
public Board board = new Board("Board1", "");
public Layout layout = new Layout();
public Player player = new Player();}

这里是如何将类加载到gameClass中的: Load a class in a jar just with his name

1 个答案:

答案 0 :(得分:0)

我正在做同样的事情 -

Solitaire gameClass = new Solitaire();
Class gclass = gameClass.getClass();
Field[] fields = gclass.getFields();

它对我来说非常合适:)

整个测试类 -

import java.lang.reflect.Field;

public class Test {

    public static void main(String args[]) {

    Solitaire gameClass = new Solitaire();
    Class gclass = gameClass.getClass();
    Field[] fields = gclass.getFields();

    for (int i = 0; i < fields.length; i++) {
        System.out.println("field: " + fields[i]);
        }
    }
}

class Solitaire {

    public Solitaire a;
    protected String b;
    public String c;

    public Solitaire() {
    }
}