代理:即将一个成员对象置于所要构造的类中(就像组合一样),但同时,我们又在新构造的类中暴露该成员对象所有的方法(就像继承)。也是代理中的静态代理。
实例——代理
class Condition{
void goHome(){
System.out.println("回家");
}
void goClass(){
System.out.println("上课");
}
void sleep(){
System.out.println("睡觉");
}
}
public class Studnets{
private Condition condition = new Condition();
public void afterSchool(String name){
System.out.println(name+"放学啦");
condition.goHome();//暴露方法,主要的方法还是让其执行
System.out.println("写作业");
}
public static void main(String[] args) {
Studnets studnets = new Studnets();
studnets.afterSchool("小明");
}
}
Output:
小明放学啦
回家
写作业