获取静态属性
Class c=Topic.class(); Field[] fields=c.getDeclaredFields(); for(Field f:fields){ Object o; try{ o=f.get(null); String top=o.toString(); } }
字段不是静态字段的话,要传入反射类的对象.如果null报 java.lang.NullPointerException
- public Object get(Object obj)
字段是静态字段的话,传入任何对象都是可以的,包括null
4,获取方法,和构造方法,不再详细描述,只来看一下关键字:
方法关键字 | 含义 |
getDeclaredMethods() | 获取所有的方法 |
getReturnType() | 获得方法的放回类型 |
getParameterTypes() | 获得方法的传入参数类型 |
getDeclaredMethod("方法名",参数类型.class,……) | 获得特定的方法 |
|
|
构造方法关键字 | 含义 |
getDeclaredConstructors() | 获取所有的构造方法 |
getDeclaredConstructor(参数类型.class,……) | 获取特定的构造方法 |
|
|
父类和父接口 | 含义 |
getSuperclass() | 获取某类的父类 |
getInterfaces() | 获取某类实现的接口 |
1)Class
cl=A.class; JVM将使用类A的类装载器,将类A装入内存(前提是:类A还没有装入内存),不对类A做类的初始化工作.返回类A的Class的对象 2)Class
cl=对象引用o.getClass();返回引用o运行时真正所指的对象(因为:儿子对象的引用可能会赋给父对象的引用变量中)所属的类的Class的对象 3)Class.forName("类名");
JAVA人都知道.装入类A,并做类的初始化