码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-09-01 00:11:28      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:str   安全   declare   方法   get   edm   classpath   params   实现   

反射中获取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 反射获得构造,方法,属性,内部类等

标签:str   安全   declare   方法   get   edm   classpath   params   实现   

原文地址:http://www.cnblogs.com/javaxiaodoufu/p/7460912.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!