反射获取静态属性
Class c=Topic.class(); Field[] fields=c.getDeclaredFields(); for(Field f:fields){ Object o; try{ o=f.get(null); String top=o.toString(); } }public Object get(Object obj)
字段不是静态字段的话,要传入反射类的对象.如果传null,报错java.lang.NullPointerException
字段是静态字段的话,传入任何对象都是可以的,包括null
2)Class
3)Class.forName("类名");
4 ,获取方法,和构造方法,不再详细描述,只来看一下关键字:
方法关键字
含义
getDeclaredMethods()
获取所有的方法
getReturnType()
获得方法的放回类型
getParameterTypes()
获得方法的传入参数类型
getDeclaredMethod("方法名",参数类型.class,……)
获得特定的方法
构造方法关键字
含义
getDeclaredConstructors()
获取所有的构造方法
getDeclaredConstructor(参数类型.class,……)
获取特定的构造方法
父类和父接口
含义
getSuperclass()
获取某类的父类
getInterfaces()
获取某类实现的接口