interface Subject{
public void make();
}
class RealSubject implements Subject{
public void make(){
System.out.println("皇帝陛下正在XXX。");
}
}
class ProxySubject implements Subject{
private Subject subject;
public ProxySubject(Subject subject){
this.subject=subject;
}
public void prepare(){
System.out.println("为临幸做准备!!");
}
public void make(){
this.prepare();
this.subject.make();
this.destroy();
}
public void destroy(){
System.out.println("抱娘娘回宫,伺候皇上睡觉。。。");
}
}
public class InterfaceDemo03{
public static void main(String[] args){
Subject sub=new ProxySubject(new RealSubject());
sub.make();
}
}