1、创建方式
1.1、getClass
Perrson person = new Student();
Class c1 = person.getClass();
1.2、forName
Class c2 = Class.forName("全类名");
1.3、.class
Class c3 = Student.class;
Object.class;
Comparable.class;
String[].class;
int [][].class;
Override.class;
ElementType.class;
Integer.class;
void.class;
1.4、Type
基本数据类型的包装类都有一个 Type 属性
Class c4 = Integer.TYPE;
2、方法
Class | |
---|
getName() | 包名 + 类名 |
getSimpleName() | 类名 |
getFields() | 获得类的所有 public 属性 |
getDeclaredFields() | 获取类的所有属性 |
getDeclaredField(String name) | 获得指定属性的值 |
getMethods() | 获得本类以及父类的所有 public 方法 |
getDeclaredMethods() | 获取本类的所有方法 |
getMethod(String name,方法参数) | 获取指定 public 方法 |
getDeclaredConstructors() | 获得全部构造方法 |
getDeclaredConstructor(参数类型,…,…) | 获取指定构造方法 |
newInstance() | 创建一个对象,本质上调用了类的无参构造器 |
getAnnotations() | 获取类的所有注解 |
getAnnotation(注解类对象) | 获取类的指定注解 |
Constructor | |
---|
newInstance(方法参数) | 创建对象 |
Method | |
---|
invoke(对象名,方法参数) | 执行该方法 |
Field | |
---|
set(对象名,值) | 赋值(不能直接操作私有属性 setAccessible(true)) |
getAnnotation(注解类对象) | 获得指定属性的注解 |
Annotation | |
---|
value() | 获取注解 value 的值 |
.属性() | 获取注解指定属性的值 |