前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Field属性所对于的关系代码分析

Field属性所对于的关系代码分析

原创
作者头像
艳艳代码杂货店
修改2021-09-26 09:39:06
3410
修改2021-09-26 09:39:06
举报
文章被收录于专栏:艳艳代码杂货店

Field

返回值

方法说明

Field

getField(String name)返回一个 Field 对象,它反映此 Class 对象所表示的类的public属性。(可以获取父类的方法)

Field[]

getFields()返回所有Field属性,它反映此 Class 对象所表示的类的public属性。(可以获取父类的方法)

Field

getDeclaredField(String name)返回一个 Field 对象,该对象反映此 Class 对象所表示的类的public/private属性。(只获取当前类的方法)

Field[]

getDeclaredFields()返回所有Field属性,该对象反映此 Class 对象所表示的类的public/private属性。(只获取当前类的方法)

示例代码如下:

代码语言:javascript
复制
@Slf4j
public class Test {
   public static void main(String[] args) throws Exception {
      Class<Man> manClass = Man.class;
      Man man = manClass.newInstance();
      Field hair = manClass.getDeclaredField("hair");
      hair.setAccessible(true);
      hair.set(man, "浓密的黑发");
      log.info(hair.get(man).toString());
      log.info(man.getHair());
      Class<?> type = hair.getType();
      Class<?> declaringClass = hair.getDeclaringClass();
      log.info(type.getCanonicalName());
      log.info(declaringClass.getCanonicalName());
   }
}

@Getter
class Man extends User {
   private String hair;
}

输出内容如下:

代码语言:javascript
复制
17:13:17.903 [main] INFO com.ldx.test.Test - 浓密的黑发
17:13:17.909 [main] INFO com.ldx.test.Test - 浓密的黑发
17:13:17.909 [main] INFO com.ldx.test.Test - java.lang.String
17:13:17.909 [main] INFO com.ldx.test.Test - com.ldx.test.Man

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Field
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档