通过反射查看类信息
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对象对应类的所有构造器,与访问权限无关。
时间: 2024-10-07 12:23:52