java 反射

1、在运行时期获取对象类型信息的操作。object.getClass() 返回此 Object 的内存中运行时类。进而通过返回的Class对象获取object的构造方法,方法,属性有哪些等等信息。
语法:

Class<?> clazz = object.getClass();

2、下面是获取clazz后的使用函数
getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。

Field[] fields = User.class.getDeclaredFields();

getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。

3、获取fields后的用法

@Bean(extension = QueryInterface.class)
public class CityServiceImpl implements QueryInterface {
    @Inject
    public void setDao(Dao dao) {
        this.dao = dao;
    }
}

field.getAnnotation(Inject.class);  // 取得CityServiceImpl里的@Inject标签

返回该元素的指定类型的注释,如果是这样的注释,否则返回null。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容