public class demo1 { /* * 静态代理模式: * 真实对象和代理对象都要实现同一个接口 * 代理对象要代理真实角色,有参构造传入真实对象 * * * 代理对象可以做N多真实对象做不了的事情,真实对象做自己的事情 * */ public static void main(String[] args) { // My my = new My(); Dai_li_Marry dai_li_marry = new Dai_li_Marry(new My());//传入要结婚的对象 dai_li_marry.HappyMarry(); } } //接口 interface Marry{//结婚 void HappyMarry(); } //结婚对象 真实角色 class My implements Marry{ @Override public void HappyMarry() { System.out.println("My要结婚了"); } } //代理 class Dai_li_Marry implements Marry{ //代理真实角色me private Marry Me ; public Dai_li_Marry(Marry me) {//传入真实对象 this.Me = me; } @Override public void HappyMarry() { befor(); this.Me.HappyMarry();//重写方法 after(); } public void befor(){ System.out.println("结婚前--准备东西"); } public void after(){ System.out.println("结婚后--过日子"); } }