您的位置:首页 > 其它

反射机制----Class

2015-10-27 17:45 330 查看
1.反射其实是一种反编译的过程,他通过Class来寻回原java的内容,实现了对java文件原代码的直接操作,很好的补充了java动态性不足的特点,他可以在程序运行时,调用java文件的方法,变量,构造器等属性,完成动态引入过程,当然他也大大提高了java语言编写大型程序结构明了的优势,可以通过配置文件进行类的加载。
<1>.Class的简单介绍:
Class可以看做类的代码本身。Object类的getClass()方法将返回对象对应的Class类实例。

Class类的常用方法:
static Class<?> forName(className);返回与带有给定字符串类名相关联的接口或类的对象。
T newInstance():创建此Class类所表示的一个新实例
得到Class实例(即得到对应类的字节码文件)的三种方法:
<1>.Class<T> c = 类名.class
<2>. Class<T> c = 类的实例.getClass();
<3>.Class<T> c = Class.forName(“类名”);
得到一个类其继承的类的信息:
Class<?> c = 类名.class;
Class<?> cParent = c.getSuperClass();
得到一个类其实现类的信息:
Class<?> cInterface = c.getInterface();
getName();得到类的完整名字.
getFields();得到类的public类型的属性.
getDeclaredField();得到类的所有属性。
getMethods();得到类的public类型的方法.
getDeclaredMethods();获得类的所有方法.
getMethod(String name,Class<?> type);获得类的特定方法,name指定方法的名字。Type指定方法参数的类型。
getConstructors();获得类的public类型的构造方法
getConstructor(Class[] types);获得类的特定构造方法,types参数指定构造方法的参数类型
getSuperclass();返回此Class的超类的Class
getInterfaces();返回此对象所表示的类或接口所实现的接口
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: