JDK动态代理和上节课讲的聚合方式代理有什么不同?

来源:2-3 了解 JDK 动态代理

慕课小能手

2017-05-21 00:45

两种方式代理类都是要实现被代理类的接口,即使被代理类有很多,但是它们都实现了相同的接口,然后代理类再去继承这个接口不就可以了吗

写回答 关注

3回答

  • 席暖
    2017-06-21 21:17:57

    步骤

    1. 创建一个实现InvocationHandle接口的类,必须实现invoke方法

    2. 创建被代理的类和接口

    3. 调用Proxy的静态方法newProxyInstance(cls.getClassLoader,cls.getInterface,InvocationHandle)

  • 席暖
    2017-06-21 20:23:38

    如果存在小汽车、自行车、客车、火车等多个被代理类时,如果在上一节中,我们就需要写carTimeProxy,cycleTimeProxy,trainTimeProxy等100多个代理类.但是使用JDK动态代理。我们只需要实现InvocationHandler接口,自动为我们创建的代理类

  • 程序小白123
    2017-05-22 20:52:49

    聚合代理是将多个代理类关联起来,代理之间可以相互传递,互相组合。手动创建代理类。

    JDK动态代理是通过创建一个实现InvocationHandler接口的类,来自动为我们创建代理类。


模式的秘密---代理模式

本节课程将带你领略Java编程语言中代理模式的奥妙

54906 学习 · 125 问题

查看课程

相似问题