Java 反射-动态代理

本文介绍了Java反射机制中的动态代理,它允许在运行时对方法进行附加操作。动态代理仅支持接口,通过实现`InvocationHandler`接口并使用`Proxy`类来创建代理对象。文中给出了一个简单的动态代理实现示例,包括SayHello接口、Hello实现类、HelloHandler代理类以及测试主类Main。测试结果显示了动态代理的功能。
摘要由CSDN通过智能技术生成

转载请标明出处:
http://blog.csdn.net/tyzlmjj/article/details/51251727
本文出自:【M家杰的博客】

概述
Java反射机制提供了动态代理的封装。动态代理可以对原本实现的方法进行附加操作,比如修改这个方法的返回值、修改传入的参数、在方法执行前后做别的操作或者干脆完全替换这个方法都是可以实现的,唯一的缺憾是只支持接口形式,所以如果需要用动态代理就需要写接口去约束。


动态代理简单实现

实现动态代理的关键类/接口
关键类
java.lang.reflect.Proxy
关键接口
java.lang.reflect.InvocationHandler

这里写一个简单的例子,主要分成4个Java文件

  • SayHello.java
    接口文件

  • Hello.java
    实现SayHello接口的实体类

  • HelloHandler.java
    实现InvocationHandler接口的实体类,并封装了代理的绑定等等的操作。

  • Main.java
    就是一个用于测试的主类


先来看接口,随便写个方法
SayHello.java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值