java反射很有意思,在知乎上找到一个讲解的不错的教程 https://www.zhihu.com/question/24304289
一,取得Class类对象的方法
public static Class<?> forName(String className) throws ClassNotFoundException;二,通过反射实例化对象 public T newInstance() throws InstantiationException, IllegalaccessException;
三,反射的应用(获取类的构造方法、普通方法、属性) 3.1 获取构造函数 取得一个类的全部构造:
public Constructor<?>[] getConstructors() throws SecurityException取得一个类的指定参数构造:
public Constructor<T> getConstructor(Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException3.2 获取普通方法 取得全部方法:public Method[] getMethods() throws SecurityException;
·取得指定方法:
public Method getMethod(String name, Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException发现以上的方法返回的都是java.lang.reflect.Method类的对象。
3.3 获取成员 取得本类的全部成员:
public Field[] getDeclaredFields() throws SecurityException;·取得指定的成员:
public Field getDeclaredField(String name) throws NoSuchFieldException, SecurityException;这两个方法的返回值类型是java.lang.reflect.Field类的对象,下面首先观察如何取得一个类之中的全部属性。
感谢原创作者,等回到自己电脑上时,必须亲自敲代码验证下正确性。
新闻热点
疑难解答