//获取修饰符
类、方法、构造器、字段 所有能用到修饰符的对象都有这个方法
Class claz = User.class;
int modifiers = claz.getModifiers();
System.out.println(modifiers);//默认修饰符 0 abstract 1024
//将得到的数值传入Modifier.toString 方法会返回 该int 参数所对应的 修饰符
String string = Modifier.toString(modifiers);//传入1024
System.out.println(string);//abstract
//判断是否为该修饰符
System.out.println(Modifier.isAbstract(1024));//true
System.out.println(Modifier.isAbstract(1025));//true 1025为public abstract(同时存在)
Class claz = User.class;
//获取全限定名称(包名+类名)
String name = claz.getName();
System.out.println(name);
//获取名称(类名)
String name2 = claz.getSimpleName();
System.out.println(name2);
//获取包名
Package package1 = claz.getPackage();
System.out.println(package1.getName());
//获取父类
Class superclass = claz.getSuperclass();
System.out.println(superclass);
//枚举类无法实例化,不能通过反射创建对象(所以枚举做单例非常安全)