JAVA反射机制
来源:互联网 发布:c语言小写字母转大写 编辑:程序博客网 时间:2024/05/20 07:18
先说说JAVA的反射机制能够做哪些事情吧。
在JAVA运行时环境里,对于任何一个类,能否知道这个类有哪些属性和方法;对于任何一个对象,能否调用这个对象的任意一个方法。
答案是肯定的,而且就是通过JAVA的反射机制来实现这一点的。这个功能是非常强大的。
那么REFLECTION到底能做哪些事情呢?
1)判断任意一个对象所属的类。
2)构造任意一个类的对象。
3)在运行时判断任意一个类的成员变量和方法。
4)生产动态代理。
JAVA反射机制(REFLECTION)是java被视为动态或者准动态语言的一个关键性质。那何为动态语言?动态语言指的是在程序运行时,允许改变程序结构或者变量类型,这样的语言称为动态语言。
反射机制允许程序在运行时透过REFLECTION APIS取得任何一个已知名称的Class的内部信息。包括modifiers(修饰符),Fields(成员变量),Methods(成员方法),实现之Interfaces(接口),还有其SuperClass(父类),以及能够在运行时修改成员变量和调用成员方法。
REFLECTION APIS
1)Class类。
2)Method类。
3)Field类。
4)Constructor类。
5)Array类。
获取一个对象的Class对象:
1)类名.Class。例如:String.Class;int.Class;
2)原生类型包装类.TYPE。例如:Integer.TYPE;Long.TYPE;
3)对象名.getClass(); 例如:Class<?> classType = obj.getClass();
运行时生成INSTANCES:
1)无自变量的constructor。
例如:Class cls = obj.getClass();
Object obj = cls.newInstance();
2)带自变量的constructor。
例如:Class c = obj.getClass();
Class[] ptypes = new Class[]{double.class,int.class};
Constructor cc = c.getConstructor(ptypes);
Object[] objs = new Object[]{34.5,12};
Object newObj = cc.newInstance(objs);
- 【反射】JAVA反射机制
- 【Java】JAVA反射机制
- Java 反射机制[Field反射]
- Java 反射机制[Method反射]
- Java反射机制笔记-反射机制
- java的反射机制
- Java的反射机制
- java反射机制详解!
- Java反射机制
- Java的反射机制
- java 反射机制--侯捷
- java反射机制
- java反射机制
- [候捷]Java反射机制
- java 反射机制
- java 反射机制初探
- 关于Java反射机制
- java反射机制
- A LNK2005 error occurs when the CRT library and MFC libraries are linked in the wrong order in Visual C++
- tld 文件中的body-context的枚举
- libvirtd远程访问被拒绝原因之一
- commonDialog引发AccessViolationException的一种原因
- 日本语学习网站汇总
- JAVA反射机制
- Linux与FreeBSD系统的十个本质区别
- C++中时间处理
- Java 程序员学习 C#笔记 (2)
- testlink 1.9 matrix report 生成速度很慢 -- 解决方法
- C#_AES加密
- MySQL中concat函数
- C++中Static作用和使用方法
- POJ2252解题报告 解一元一次方程