问答详情
源自:2-3 了解 JDK 动态代理

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

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

提问者:慕课小能手 2017-05-21 00:45

个回答

  • 席暖
    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接口的类,来自动为我们创建代理类。