反射中获取Class对象的方法===============================
1.静态----根据全路径获得-----------
Class clazz = Class.forName(String classpath全路径) 需要知道类的全路径,需要路径正确,否则抛出没有找到该类2.类名.class
Class clazz = 类名.class 安全性高。性能好。推荐使用-------
3.对象名.getClass( )
Class clazz = 对象名.class 访问Class对应的类所包含的构造方法==============================1.方法一Constructor getConstructor(Class[]params) 返回Class对象指定的public构造方法 参数Class[]params与指定构造方法的参数一致 例子: Constructor co=clazz.getConstructor(Class[]params) clazz是Class的对象 2.方法二Constructor[] getConstructors( ) 返回该Class对象所表示的类的所有的public构造方法 3.方法三Constructor getDeclaredConstructor(Class[]params) 返回该Class对象所表示的类的指定构造方法,与访问级别无关 4.方法四Constructor[] getDeclaredConstructor() 返回该Class对象所表示的类的全部方法,与访问级别无关 从Class类中获取方法信息===============================================1.方法一Method getMethod(String name,Class[] params ) name是指定public方法的名称2.方法二
Method[ ] getMethods( )3.方法三
Method getDeclaredMethod(String name,Class[] params )4.方法四
Method[ ]getDeclaredMethods( ) 从Class类中获取属性信息================================================1.方法一Field getField(String name) 返回指定属性名的public属性2.方法二
Field[] getFields()3.方法三
Field getDeclaredField(String name)4.方法四
Field[] getDeclaredField() 返回不考虑访问级别的所有属性
访问Class对应的类所包含的内部类==========================================
Class[] getDeclaredClasses();
返回该Class对象所对应类的全部内部类访问Class对应的类所在的外部类
Class getDeclareingClass(); 访问Class对象所对应类所继承的父类、所实现的接口等======================int getModifiers()-----返回该类或接口所有的修饰符Class[] getInterfaces()----返回对应类的全部接口Package getPackage()------获取该类的包String getName()-----返回类名String getSimpleName------返回类的简称Class getSuperclass()----返回该类的超类对应的Class对象