获取类的class对象方式
时间: 2023-08-31 20:06:53 浏览: 60
获取类的`Class`对象的方式有三种:
1. 通过类名获取:可以通过类的全限定名(包括包名和类名)来获取类的`Class`对象,例如:
```
Class<?> clazz = Class.forName("java.util.ArrayList");
```
2. 通过对象获取:可以通过一个对象的`getClass()`方法获取该对象所属的类的`Class`对象,例如:
```
ArrayList<String> list = new ArrayList<>();
Class<? extends ArrayList> clazz = list.getClass();
```
3. 通过类字面常量获取:可以通过类字面常量`.class`来获取类的`Class`对象,例如:
```
Class<ArrayList> clazz = ArrayList.class;
```
这三种方式都可以获取到类的`Class`对象,但使用场景不同。第一种方式通常用于动态加载类,第二种方式通常用于获取对象的运行时信息,第三种方式通常用于获取类的静态信息。
相关问题
获取class对象方式
可以使用以下方法获取一个类的Class对象:
1. 通过类的静态属性class获取,例如:Class clazz = Object.class;
2. 通过类的对象的getClass()方法获取,例如:Object obj = new Object();Class clazz = obj.getClass();
3. 通过Class.forName()静态方法获取,例如:Class clazz = Class.forName("java.lang.Object");
4. 通过ClassLoader的loadClass()方法获取,例如:Class clazz = ClassLoader.getSystemClassLoader().loadClass("java.lang.Object");
获取实体类的 Class 对象
要获取一个实体类的 Class 对象,可以使用它的 getClass() 方法。比如:
```
Object obj = new String("Hello");
Class<?> objClass = obj.getClass();
```
这样,objClass 就是 String 类的 Class 对象了。注意,getClass() 方法是 Object 类的方法,因此任何对象都可以调用它来获取自己的 Class 对象。另外,Class 对象也可以通过类名来获取,比如:
```
Class<?> stringClass = String.class;
```
这样,stringClass 就是 String 类的 Class 对象了。