首页 > 代码库 > 通过反射查看类信息

通过反射查看类信息

通过反射查看类信息

1.获得Class对象的三个方式

(1)使用Class类的forName(String clazzName)静态方法。该方法需要传入字符串参数,该字符串参数的值是某个类的全限定名(必须添加完整的包名);

//例如在JDBC中加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");

(2)调用某个类的class属性来获取该类对应的Class对象;

//假设现有Student类
//调用该类的class属性获取Class对象
Class clazz = Student.class;

(3)调用某个对象的getClass()方法。此方法是java.lang.Object中的方法,所以所有的对象都可以使用此方法,该方法回返回该对象所属类对应的Class对象。

//创建Student对象
Student s = new Student();
//使用该对象的getClass()方法获取该对象对应类的Class对象
Class clazz = s.getClass();

2.获取Class对应类所包含的构造器

(1)Constructor<T> getConstructor(Class<?>...parameterType):

  返回此Class对象对应类的、带指定形参列表的public构造器;

(2)Constructor<T>[] getConstructor():

  返回此Class对象对应类的所有public构造器;

(3)Constructor<T> getDeclaredConstructor(Class<?>...parameterType):

  返回此Class对象对应类的、带指定形参列表的与访问权限无关的构造器;

(4)Constructor<T>[] getDeclaredConstructor():

  返回此Class对象对应类的所有构造器,与访问权限无关。

 

通过反射查看类信息