方式一:Object类中的getClass()方法,创建Person类,必须要明确具体的类,并且要创建对象,麻烦。
@Test
public void getClassObject() {
Person person = new Person();
Class clazz = person.getClass();
Person person1 = new Person();
Class clazz1 = person1.getClass();
//结果为true
System.out.println(clazz == clazz1);
}
方式二:通过对象静态属性 .class来获取对应的Class对象相对简单,但是还是需要先明确类中的静态成员。不够拓展。
public void getClassObject_2() {
Class clazz = Person.class;
}
方式三:只要通过给定类的字符串名称就可以获取该类,更为拓展,forName
@Test
public void getClassObject_3() throws ClassNotFoundException {
String className = "com.bz.bean.Person";
Class clazz = Class.forName(className);
System.out.println(clazz);
}
有了类对象之后,可以根据类对象来获取类的对象,使用的方法为Class里的方法
| Class的位置 | java.lang 类 Class |
继承于 | java.lang.Object ——> java.lang.Class |
| | 类型参数: T - 由此 Class 对象建模的类的类型。例如,String.class 的类型是 Class |
| 所有已实现的接口: | Serializable, AnnotatedElement, GenericDeclaration, Type |
由类对象而产生实例对象(类的对象)所使用的方法
| 公开,成员,返回值为类对象的实例对象 | newInstance() 创建此 Class 对象所表示的类的一个新实例。 |



