Java反射 获取Class对象的三种方式

获取一个类对应的Class类的方法

1.使用Object.getClass ()方法----引用类型的对象的获取方式

如果我们已经拿到了一个对象,可以使用这个对象的 getClass 方法获得一个 Class 对象(不过这仅限于引用类型的对象):

String string=new String();
//使用已经存在的对象的getClass()方法获取Class对象
Class  class1=string.getClass();

2.使用类的class成员属性

如果我们当前没有某个类的对象,无法使用 getClass() 方法来获取Class对象,那还可以使用 类名.class 来获取 Class对象:

//使用 类名.class来获取Class对象
Class class2=String.class;

其实这种方式不仅能用于引用类型,基本类型也可以。数组也是可以的:

Class class3=int.class;
Class class4=int[][].class
3.使用Class类的forName("类完整路径")方法获取:

如果我们有一个类的完整路径,就可以使用 Class.forName(“类完整的路径”) 来得到相应的 Class,这个方法只能用于引用类型,所谓类的完整路径是:包名.类名 例如:java.lang.String。

Class<?> strClass=Class.forName("java.lang.String");

4.使用包装类的TYPE属性来获取包装类对应的Class类:

public static final Class<Integer>  TYPE = (Class<Integer>) Class.getPrimitiveClass("int");


猜你喜欢

转载自blog.csdn.net/qq_21808961/article/details/80376473