1. public interface IGiveGift {
    2. public abstract void GiveFlower();
    3. }
    4. // A 真实的请求
    5. public class Pursuit implements IGiveGift{
    6. private MM mm;
    7. public Pursuit (MM mm) {
    8. this.mm=mm;
    9. }
    10. public void GiveFlower() {
    11. System.out.println(mm.getName()+"给你花");
    12. }
    13. }
    14. // B 代理 A
    15. public class Proxy implements IGiveGift{
    16. private Pursuit pursuit;
    17. public Proxy(Pursuit pursuit) {
    18. this.pursuit=pursuit;
    19. }
    20. public void GiveFlower() {
    21. pursuit.GiveFlower();
    22. }
    23. }
    24. public class MM {
    25. private String name;
    26. public MM(String name) {
    27. this.name = name;
    28. }
    29. public String getName() {
    30. return name;
    31. }
    32. public void setName(String name) {
    33. this.name = name;
    34. }
    35. }
    36. public class Test {
    37. public static void main(String[] args) {
    38. MM mm=new MM("妹妹");
    39. Pursuit pursuit=new Pursuit(mm);
    40. Proxy proxy=new Proxy(pursuit);
    41. proxy.GiveFlower();
    42. }
    43. }