Java反射原理
来源:互联网 发布:骑马与砍杀捏脸数据女 编辑:程序博客网 时间:2024/06/05 10:02
一 反射机制的概念:
指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法.这种动态获取信息,以及动态调用对象方法的功能叫java语言的反射机制.
二 反射机制的应用:
生成动态代理,面向切片编程(在调用方法的前后各加栈帧).
三 反射机制的原理:
1 首先明确的概念: 一切皆对象----类也是对象.
2 然后知道类中的内容 :modifier constructor field method.
3 其次明白加载: 当Animal.class在硬盘中时,是一个文件,当载入到内存中,可以认为是一个对象,是java.lang.class的对象.
当运行程序时,实例化时产生Animal.class对象,这两个对象有什么区别?
如下图,上面的Animal.class对象是java.lang.class的对象;下面的对象是Animal.class实例化产生的对象
反射机制简单实例代码
com.demo.util.com.demo.util
public class ReflectDemo {public static void refTest(){String className = "com.demo.util.TestConnection" ;Object o = null ; try {// 通过反射机制,使用类装载器,装载该类Class<?> cl = Class.forName(className) ;//输出反射得到的类System.out.println(cl);//创建该类的实例,转化为接口 o = cl.newInstance() ; //获取某个特定的方法 通过:方法名+形参列表Method method = cl.getDeclaredMethod("testConnection" , Integer.class) ; // 通过反射机制执行方法Object retValue = method.invoke(o , 5 );System.out.println(retValue);} catch (Exception e) {e.printStackTrace() ; }}public static void main(String[] args) {refTest() ; }}com.demo.util.TestConnectionpublic class TestConnection {public TestConnection(){System.out.println("This is TestConnection !!! ");}public Integer testConnection(Integer time){System.out.println("This is TestConnection's testConnection() !!! ");return time ; }}
阅读全文
0 0
- java反射原理
- java反射机制原理
- java反射原理
- java反射的原理
- java反射原理
- java 反射原理
- 反射技术Java原理
- java反射机制原理
- java反射原理
- Java反射原理
- Java反射原理分析
- java反射原理
- Java 反射机制原理
- Java反射原理
- JAVA反射原理
- java反射原理
- java反射原理
- java反射机制原理
- Java中的abstract关键字理解
- Android 仿ios的tip提示语样式SVProgressHUD
- spring AOP解说
- 『ORACLE』DG之Snapshot Standby功能(11g)
- ftp配置虚拟用户
- Java反射原理
- BZOJ 1497: [NOI2006]最大获利 最大权闭合子图
- 自定义控件怎么setId
- dfs.hosts配置
- Python 中的join()与split()
- TensorFlow DNN 实现MNIST数字识别(初版)
- ios-runtime(swift)使用,修改pageControl的小圆点
- Websocket&&SocketIO
- 归并与归并排序