java 反射随记
记录一下有关 Class 对象的相关方法:
1、获取 Class 对象的三个方法:
⑴ 使用 Class.forName("全限定类名") ,参数是该类的全限定类名,可拓展性强;
⑵ 直接通过 “.class” 获取;
⑶ 通过Object 类的 getClass() 方法。
2、获取 Class 对象的成员变量 Field.
⑴ getFields() :获取所有 public 权限的成员变量
⑵ getDeclaredFields:获取所有已声明的成员变量
⑶ getField(String name):获取指定的 public 权限成员变量
⑷ getDeclaredFiled(String name):获取指定的已声明成员变量
⑸ Field 类中的 get(Object obj) 方法可以从指定的 Class对象中获取到已有的值,但必须确保这个成员变量是静态的。
3、获取成员方法,这里不再详细介绍,仅记录有这个方法.
⑴ getMethod(String methodName,Class<?>... paramterType):获取单个 public 方法,参数顾名思义;
⑵ getMethods(): 获取所有 public 方法;
⑶ getDeclaredMethods():和成员变量获取同理
⑷ getDeclaredMethod(Stribg methodName,Class<?>... paramterType) :获取单个已声明方法。
⑸ getEnclosingMethod() :这个比较复杂,不讨论
注:仅记录供参考,并未实际编码验证。
闲来无事,吃饭睡觉打代码