如何获取 class 文件的 class 参数

How can i get class parameters of class file

我想在编译后读取一个class的参数。我只需要名字。

例如:

public class X {
   public String y;
   ...
}

我想将代码编译成 class 文件。然后让另一个 java 项目读取 classes 的名称,在本例中为 X,在本例中为 class 的所有参数 y.

我可以吗? 如果可能的话,参数是否必须是public?

谢谢。

编辑:

我尝试使用 JSystem - java 中的一个自动化框架。 为此,我是否需要读取 class 文件并读取所有 class 名称和那些参数?我希望它是可以理解的。

对于了解 JSystem 的人,我尝试制作 JRunner 但 web gui(使用 spring)。

您想使用 java 反射。下面的代码将给你一个包中的所有 classes:

 Reflections reflections = new Reflections("my.project.prefix");

 Set<Class<? extends Object>> allClasses = reflections.getSubTypesOf(Object.class);

然后要获取 class 的属性,您可以执行以下操作:

 for (Field f : getClass().getDeclaredFields()) {
    System.out.println("Field: " + f);
  }