package proxy.staticproxy;

 public interface IStar {

     public void sing();
}
 package proxy.staticproxy;

 public class RealStar implements IStar{
@Override
public void sing() {
System.out.println("我是大明星:我要大声唱:巴拉巴拉。。。");
}
}
 package proxy.staticproxy;

 public class ProxyStar implements IStar {

     private IStar realStar;

     public IStar proxy(IStar realStar){
this.realStar = realStar;
return this;
} @Override
public void sing() { System.out.println("我是代理人:大明星唱歌开始前,我先宣传一下:巴拉巴拉。。。"); this.realStar.sing(); System.out.println("我是代理人:大明星唱歌完毕了,我来总结一下:巴拉巴拉。。。");
}
}
 package proxy.staticproxy;

 public class Test {

     /**
*
* 静态代理可以分为两类,以“代理人”和“大明星”为例。
* 下面测试的为基于相同接口的代理,代理人和大明星都是实现的相同接口
* 代理人实例内部维护(组合)大明星实例
* 对外暴露代理人的行为
* 另一类是基于继承的代理,假如大明星本身就没有实现任何接口
* 那么,代理人可以通过继承大明星,覆写大明星的方法(除final修饰的方法,wait方法,notify方法)、
* 达到代理大明星的逻辑
* @param args
*/
public static void main(String[] args) {
IStar star = new ProxyStar().proxy(new RealStar());
star.sing();
}
}

最新文章

  1. 转:MYSQL连接字符串参数解析(解释)
  2. javascript设计模式实践之迭代器--具有百叶窗切换图片效果的JQuery插件(一)
  3. 修复 XE8 FMX Windows 列印旋转文字问题
  4. iOS应用开发详解
  5. 远程centos改动yum源
  6. Java多线程基础——线程间通信
  7. python全栈开发中级班全程笔记(第二模块、第四章)(常用模块导入)
  8. GeoDesc: Learning Local Descriptors by Integrating Geometry Constraints
  9. 小程序wx.getUserInfo获取用户信息方案介绍
  10. [HBase Manual] CH2 Getting Started
  11. swust oj 1075
  12. 近期面试总结(Android)
  13. 使用html5获取当前手机的经纬度,并接入百度地图API,查询出当前位置
  14. SSD(single shot multibox detector)算法及Caffe代码详解[转]
  15. for循环中进行联网请求数据、for循环中进行异步数据操作,数据排序错乱问题解决;
  16. yii 日期插件
  17. 【转】Java自学之路——by马士兵
  18. Dom对象总结介绍&事件介绍&增删查找标签
  19. 搭建vue脚手架,包含Axios、qs、Element-UI、mock等插件的安装配置
  20. Ubuntu下解决apt update时签名无效问题

热门文章

  1. package---包
  2. nodejs 搭建本地静态服务器
  3. 「NOI2013」树的计数 解题报告
  4. M-BM-
  5. 互联网+ 何人能挡?带着你的Code飞奔吧!
  6. Spring bean实例化的方式
  7. 实验一 Java开发环境的熟悉(Linux + Eclipse)
  8. Qt: 执行cmd命令;
  9. markdown 转义字符
  10. docke 基本安装使用