Java反射—Field类使用

Field作为反射中对应类或对象中的域或者叫做属性的操作类

Java SE 8的Docs这样说:A Field provides information about, and dynamic access to, a single field of a class or an interface. The reflected field may be a class (static) field or an instance field.

简单理解就是:我们可用通过Field类对类或对象的field进行动态操作。

  • 关于Field的一些方法:

 简单案例:

 

 

 

  • 需要说的点:

    • setAccessible方法。是Field继承自AccessibleObject类,AccessibleObject是Field、Method、Constuctor类的父类。简单理解意思就是 如果类型是private修饰的,你不可以直接访问,就需要设置访问权限为true.如果是public则不需要设置。
    • set和get调用的时候都需要确保可以访问,不然如果不能访问抛出IllegalAccessException。
  • 制作一个通用的toString(Object obj)方法



 

 

注意:

里面有个Array类,是java.lang.reflect包下一个数组操作类。代码里的调用意思都不难理解。就不解释了

  • 调用类

 

 

 


版权声明:本文为Mssyaa原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。