获取类对象
动态加载一个类
1 | URL[] urls = new URL[] {new URL("file:.\\out\\production\\java_reflect")}; |
寻找一个类
1 | Class clazz = Class.forName("test.reflect.User"); |
获取类中的构造方法
1 | Constructor constructor1=clazz.getConstructor(); |
获取类中属性
获取类中公有属性
1 | Field usernameField=clazz.getField("username"); |
获取类中私有属性
1 | Field passwordField=clazz.getDeclaredField("password"); |
获取类中方法
1 | Method getInfoMethod=clazz.getDeclaredMethod("getInfo", int.class); |
调用方法
1 | getInfoMethod.setAccessible(true); |
调用静态方法
1 | Method staticMethod=clazz.getDeclaredMethod("staticMethod"); |