1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| package Proxy;
interface Confession { void confess(); }
class RealConfessor implements Confession { private final String name; private final String crushName;
public String getName() { return name; }
public RealConfessor(String name, String crushName) { this.name = name; this.crushName = crushName; }
@Override public void confess() { System.out.println(name + " 鼓起勇气对 " + crushName + " 说: '我喜欢你!'"); } }
class ProxyConfessor implements Confession { private final RealConfessor realConfessor; private final String proxyName;
public ProxyConfessor(String confessorName, String crushName, String proxyName) { this.realConfessor = new RealConfessor(confessorName, crushName); this.proxyName = proxyName; }
@Override public void confess() { System.out.println(proxyName + " 作为 " + realConfessor.getName() + " 的朋友,帮忙传达消息..."); realConfessor.confess(); System.out.println(proxyName + " 补充道: '我可以证明,他/她是一个很好的人!'"); } }
public class ProxyConfessionDemo { public static void main(String[] args) { Confession proxy = new ProxyConfessor("小明", "小红", "小李"); proxy.confess(); } }
|