码迷,mamicode.com
首页 > 其他好文 > 详细

JDK动态代理

时间:2019-10-10 11:13:35      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:lang   object   import   static   bsp   author   ref   package   load   

JDK动态代理又忘了,已经学习第四遍了,最简单的实现如下。

package com.houjun.JDKDynamicProxy;

/**
 * @Author: HouJun
 * @Date: 2019/10/10 9:11
 * @Description: 接口
 * @version: 1.0
 */
public interface Subject {
    void doSomething();
}
package com.houjun.JDKDynamicProxy;

/**
 * @Author: HouJun
 * @Date: 2019/10/10 9:11
 * @Description: 被代理类
 * @version: 1.0
 */
public class ImplSubject implements Subject{
    @Override
    public void doSomething() {
        System.out.println("被代理类执行了");
    }
}
package com.houjun.JDKDynamicProxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

/**
 * @Author: HouJun
 * @Date: 2019/10/10 9:13
 * @Description: com.houjun.JDKDynamicProxy
 * @version: 1.0
 */
public class Test {
    public static void main(String[] args) {
        ImplSubject implSubject = new ImplSubject();

        Subject s = (Subject) Proxy.newProxyInstance(implSubject.getClass().getClassLoader(), implSubject.getClass().getInterfaces(), new InvocationHandler() {
            @Override
            public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                System.out.println("");
                Object invoke = method.invoke(implSubject, args);
                System.out.println("");
                return invoke;
            }
        });
        s.doSomething();
    }
}

 

JDK动态代理

标签:lang   object   import   static   bsp   author   ref   package   load   

原文地址:https://www.cnblogs.com/houj/p/11645927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!