慕课小能手
2017-05-21 00:45
两种方式代理类都是要实现被代理类的接口,即使被代理类有很多,但是它们都实现了相同的接口,然后代理类再去继承这个接口不就可以了吗
步骤
创建一个实现InvocationHandle接口的类,必须实现invoke方法
创建被代理的类和接口
调用Proxy的静态方法newProxyInstance(cls.getClassLoader,cls.getInterface,InvocationHandle)
如果存在小汽车、自行车、客车、火车等多个被代理类时,如果在上一节中,我们就需要写carTimeProxy,cycleTimeProxy,trainTimeProxy等100多个代理类.但是使用JDK动态代理。我们只需要实现InvocationHandler接口,自动为我们创建的代理类
聚合代理是将多个代理类关联起来,代理之间可以相互传递,互相组合。手动创建代理类。
JDK动态代理是通过创建一个实现InvocationHandler接口的类,来自动为我们创建代理类。
模式的秘密---代理模式
54906 学习 · 125 问题
相似问题