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。

你可能感兴趣的:(java 反射)