JDK动态代理

19.11.9JDK动态代理题

JDK动态代理是代理模式的一种实现方式,其只能代理接口。


大致步骤

1、 新建一个接口

2、 为接口创建一个实现类

3、 创建代理类实现java.lang.reflect.InvocationHandler接口

4、 测试


详解

1、 新建一个接口
JDK动态代理
一个取款机功能具有 存钱、取钱的功能。

2、 为接口创建一个实现类
JDK动态代理
BankServiceImpl为取款机接口的实现类,涉及知识点为接口的实现。

3、 创建代理类实现java.lang.reflect.InvocationHandler接口
//注 其实此时就可以直接main方法实现了,不用再用此步骤,但是由于要实现代理,我们带来个中间商赚差价
JDK动态代理
此步骤是该知识点的玄机,我也在摸索,不过先了解固定的套路再说。
(1、为接口创建代理类的字节码文件2、使用ClassLoader将字节码文件加载到JVM3、创建代理类实例对象,执行对象的目标方法。)

4、 测试
JDK动态代理