java动态代理

相当于是不自己去new对象 而是用反射机制去创建类。同时进行功能增强等操作

 

 Sale a = (Sale) Proxy.newProxyInstance(SaleImpl.class.getClassLoader(),SaleImpl.class.getInterfaces(),new NyProxy());

传来的代理类会实现

SaleImpl.class.getInterfaces()即SaleImpl的接口
但是不论调用的是Sale的哪个方法 最总==最终实际都是调用的NyProxy的invoko方法

类似于创建了这样的一个类
public class $Proxy implements Sale{
    NyProxy np;
    @Override
    public void s() {
        np.invoke(this,[method], args);
    }
}

 

posted @ 2022-03-13 07:55  dronff  阅读(24)  评论(0)    收藏  举报