java反射基础
获取类对象方法
1.forName()方法
Class name = Class.forName("java.lang.Runtime");
2.直接获取
Class<?> name = Runtime.class;
3.使用getClass()方法
Runtime rt = RunTime.getRuntime();
Class<?> name = rt.getClass();
4.使用getSystemClassLoader()方法
class<?> name = Class.getSystemLoader().loadClass("java.lang.Runtime")
获取类方法(代码中name即上文中获取到的类)
1.getDeclaredMethods方法(返回除继承外声明的所有方法)
Method[] declaredMethods = name.getDeclaredMethods();
2.getMethods方法(返回所有public方法)
Method[] methods = name.getMethods();
3.getMethod方法(返回特定的方法)(getDeclaredMethod与之类似)
Method method = name.getMethod("exec", String.Class);
获取类成员变量
1.getDeclaredFields方法(获得类的成员变量数组)
Fields[] declaredFiields = name.getDeclaredFields();
2.getFields方法(获得所有public字段)
Fields[] fiields = name.getFields();
3.getDeclaredField方法(获得特定成员变量)
Fields declaredFiield = name.getDeclaredField(“xxx”);
类似的,getField方法