Java - 反射:仅获取属于当前类的字段

Wil*_*Boy 2 java reflection field class

如何才能获得仅与当前类相关联的字段,而不是其所有父类?

public class BaseClass()
{
     public int x = 0;
}

public class AnotherClass() extends BaseClass
{
     public int y = -1;
     public int z = -2;

     public void doStuff()
     {
          for(Field f : this.getClass().getFields())
          {
              //Save each field to a file
          }
     }
}
Run Code Online (Sandbox Code Playgroud)

我想只得到属于AnotherClass的Y和Z. 但是上面也给了我X.

这意味着要替换必须键入我想要保存的每个值.它没有以任何典型格式保存.它必须像这样保存,所以不建议以不同的方式保存字段.

过滤掉每个字段的名称会使其失败,因为有超过200个.

Pat*_*ick 7

您只能使用getDeclaredFields获取类中声明的字段. 它将排除继承的字段.