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。