生活中的代理
使用播放电影案例说明
用户--->加广告的电影(电影)--->真正的电影(电影接口)
1,定义一个电影接口
package com.zmd.staticProxy; /** * @ClassName Movie * @projectName: object1 * @author: Zhangmingda * @description: XXX * date: 2021/5/16. */ public interface Movie { /** * 接口中定义的方法,认都是public (公开)、abstract (抽象) 的 * 播放电影的方法: */ void play(); }
2,定义真的电影《战狼》实现Movie接口
package com.zmd.staticProxy; public class ZhanlangMovie implements Movie{ public void play(){ System.out.println("战狼播放中..."); } }
3,定义加广告的电影(电影城加工后),实现接Movie口
package com.zmd.staticProxy; public class RealMovie implements Movie{ private Movie movie; public RealMovie(Movie movie) { this.movie = movie; } public void play(){ System.out.println(" 欢迎 购买爆米花 ,电影要开始喽..."); movie.play(); System.out.println("下期 《反贪风暴》 即将开播,敬请期待"); } }
4,定义播放器,播放电影
package com.zmd.staticProxy; public class MovieTest { public static void playMovie(Movie movie){ movie.play(); } public static void main(String[] args) { playMovie(new RealMovie(new ZhanlangMovie())); } }