代理:即将一个成员对象置于所要构造的类中(就像组合一样),但同时,我们又在新构造的类中暴露该成员对象所有的方法(就像继承)。也是代理中的静态代理。
    实例——代理

    1. class Condition{
    2. void goHome(){
    3. System.out.println("回家");
    4. }
    5. void goClass(){
    6. System.out.println("上课");
    7. }
    8. void sleep(){
    9. System.out.println("睡觉");
    10. }
    11. }
    12. public class Studnets{
    13. private Condition condition = new Condition();
    14. public void afterSchool(String name){
    15. System.out.println(name+"放学啦");
    16. condition.goHome();//暴露方法,主要的方法还是让其执行
    17. System.out.println("写作业");
    18. }
    19. public static void main(String[] args) {
    20. Studnets studnets = new Studnets();
    21. studnets.afterSchool("小明");
    22. }
    23. }
    24. Output:
    25. 小明放学啦
    26. 回家
    27. 写作业