转自:
下文讲述使用java反射获取类中信息的方法分享,如下所示:
在java反射操作一个类时,首先需获取类对象,如下所示:
Class myObjectClass = MyObject.class;
例:
Java运行时,通过类的全限定名获取类对象
String className = ... ;//类的全限定名 com.java265.MyClassName Class class = Class.forName(className);
当我们获取完class对象后,我们可以使用 getName()获取类的全限定名称(包含包名+类名) getSimpleName()获取类名
在反射中,我们可获取其修饰符 public ,private等关键字
int modifiers = class.getModifiers(); Modifier.isAbstract(int modifiers); Modifier.isFinal(int modifiers); Modifier.isInterface(int modifiers); Modifier.isNative(int modifiers); Modifier.isPrivate(int modifiers); Modifier.isProtected(int modifiers); Modifier.isPublic(int modifiers); Modifier.isStatic(int modifiers); Modifier.isStrict(int modifiers); Modifier.isSynchronized(int modifiers); Modifier.isTransient(int modifiers); Modifier.isVolatile(int modifiers);
使用反射获取class对象的包信息,例:
Package package = aClass.getPackage();
Class superclass = aClass.getSuperclass();
Class[] interfaces = aClass.getInterfaces();
Constructor[] constructors = aClass.getConstructors();
Method[] method = aClass.getMethods();
Field[] method = aClass.getFields();
Annotation[] annotations = aClass.getAnnotations();