一,代理
二,案例
放到代码中演示:
首先,创建一个明星接口,这个接口有一个skill方法,说明只要是明星就必须有点技能。
public interface Star {void skill();
}
然后,创建坤坤对象,实现明星接口
public class GeGe implements Star {private String name;public GeGe() {}public GeGe(String name) {this.name = name;}@Overridepublic void skill() {System.out.println(name+"在唱歌");System.out.println(name+"在跳舞");System.out.println(name+"在说唱");}
接下来,创建经纪人类,来帮助坤坤完成接单和变演完给粉丝送篮球
代理类也有一个保存用户的方法,但是这个方法属于代理类,这个方法不会真的保存用户,而是起到一个过渡作用,其内部有一个真实对象,进行用户保存。
public class StarProxy implements Star {private Star star;public StarProxy(Star star) {this.star = star;}@Overridepublic void skill() {System.out.println("接受预约");star.skill();System.out.println("表演完给粉丝送篮球");}
}
最后,结婚当天
public class Marry {public static void main(String[] args) {GeGe gege = new GeGe("坤坤");StarProxy starProxy = new StarProxy(gege);starProxy.skill();}
}
运行结果:
图解: