JDK动态代理之InvocationHandler接口源码分析

本文深入分析了JDK动态代理中的InvocationHandler接口,接口中的invoke方法是核心,参数包括代理类、被调用的方法及方法参数。返回值会根据实际类型进行包装,如int转为Integer。当接口方法返回值为基本类型但代理类返回null时,会抛出异常。代理类必须实现接口,推荐接口方法返回值使用包装类以避免返回null引发的问题。
摘要由CSDN通过智能技术生成

JDK动态代理之InvocationHandler接口源码分析

InvacationHandler类是JDK动态代理中需要实现的接口,接口中只有一个方法:invoke

代码

package java.lang.reflect;

/**
 * {@code InvocationHandler} is the interface implemented by
 * the <i>invocation handler</i> of a proxy instance.
 *
 * 译文:
 *  InvocationHandler是代理类实现的接口
 *
 * <p>Each proxy instance has an associated invocation handler.
 * When a method is invoked on a proxy instance, the method
 * invocation is encoded and dispatched to the {@code invoke}
 * method of its invocation handler.
 *
 * 译文:
 *  每个代理对象都有一个与之关联的handler,代理对象上方法调用会被编码,并发送到
 *  与之对应的handler上
 */
pub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值