Class 反射获得构造,方法,属性,内部类等

Posted 盛夏光年2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Class 反射获得构造,方法,属性,内部类等相关的知识,希望对你有一定的参考价值。

反射中获取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对象

以上是关于Class 反射获得构造,方法,属性,内部类等的主要内容,如果未能解决你的问题,请参考以下文章

java反射-反射实例化对象-反射获得构造方法-反射获得普通方法-获得属性

1反射-概述(Class)

初识java反射机制

Java反射及动态代理

反射机制

JavaSE反射的总结