zoukankan      html  css  js  c++  java
  • java 接口代理

    接口
    public interface Cc {
       void say();
    }
    实现类:
    public class C  implements  Cc{
        @Override
        public void say() {
            System.out.println("good");
        }
    }
    
    代理类:
    public class ProxyTest implements InvocationHandler {
        //真实对象
        private Cc targent;
    
        public Cc  getPerson(Cc targent){
            this.targent=targent;
            Class<?> clazz=targent.getClass();
            return (Cc) Proxy.newProxyInstance(clazz.getClassLoader(),clazz.getInterfaces(),this);
        }
    
        @Override
        public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
            Object obj = method.invoke(this.targent, args);
            return obj;
        }
    }
    
    
    
    
    测试结果:
    
         ProxyTest proxyTest=new ProxyTest();
    //只对Cc接口进行代理
            Cc cc = proxyTest.getPerson(new C());
            cc.say();
    
    一点点学习,一丝丝进步。不懈怠,才不会被时代淘汰
  • 相关阅读:
    access 连接数据库
    Debug 和 Release 的区别
    Centos
    打印画面
    读取文件夹以及消除
    常用的文件文件夹目录的操作函数
    db的操作
    从数据库取数据
    pdf文件的作成
    读取文件
  • 原文地址:https://www.cnblogs.com/wangbiaohistory/p/14615884.html
Copyright © 2011-2022 走看看