Java静态代理

静态代理:由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序运行前代理类的.class文件就已经存在了。
1 public interface Save { 2 void save(); 3 }
//实现Save接口 被代理的
1 public class SaveOne implements Save { 2 @Override 3 public void save() { 4 System.out.println("被代理的"); 5 } 6 }
1 //代理类 实现同一个接口 2 public class ProxySaveOne implements Save { 3 //私有化接口 4 private Save target;
//接受保存目标对象 5 public ProxySaveOne(Save target){ 6 this.target=target; 7 } 8 9 @Override 10 public void save() { 11 System.out.println("开始!!!");//对原对象 的扩展 12 target.save(); 13 System.out.println("结束!!!就这就是静态代理"); 14 } 15 }
静态代理总结:
1.可以做到在不修改目标对象的功能前提下,对目标功能扩展。
2.缺点:因为代理对象需要与目标对象实现一样的接口,所以会有很多代理类,类太多.同时,一旦接口增加方法,目标对象与代理对象都要维护。
浙公网安备 33010602011771号