public static void getBasicInfo(Class clz) throws Exception{
/**
* 数值对应表:
* ABSTRACT 1024
* FINAL 16
* INTERFACE 512
* NATIVE 256
* PRIVATE 2
* PROTECTED 4
* PUBLIC 1
* STATIC 8
* STRICT 2048
* SYNCHRONIZED 32
* TRANSIENT 128
* VOLATILE 64
*/
// 获取修饰符
int modifiers = clz.getModifiers();
System.out.println("class "+clz+" 的 修饰符: " + modifiers);
// 获取包对象
Package clzPackage = clz.getPackage();
System.out.println("class "+clz+" 的 Package: " + clzPackage.getName());
// 获取类名
String clzFullName = clz.getName();
String clzSimpleName = clz.getSimpleName();
System.out.println("class "+ clz+" 的 fullClassName: " + clzFullName);
System.out.println("class "+ clz+" 的 simpleClassname: " + clzSimpleName);
// 获取类加载器
ClassLoader clzLoader = clz.getClassLoader();
// 获取当前类实现的接口列表
Class[] cs = clz.getInterfaces();
System.out.println("class "+ clz+" 的 csLength: " + cs.length);
// 获取父类对象
Class fatherClzObj = clz.getSuperclass();
System.out.println("class "+ clz+" 的 Superclass: "+fatherClzObj.getSimpleName());
}
Java-Reflect-02-获取 Class 对象的基本信息
于 2022-01-19 17:43:48 首次发布