代理对象和真实对象要实现同一个接口
代理对象要代理真实角色
public class TestWedding { public static void main(String[] args) { new WeddingCompany(new Person()).wedding(); }}interface Wedding{ void wedding();}class Person implements Wedding{ @Override public void wedding() { System.out.println("要结婚了,开心开心!"); }}class WeddingCompany implements Wedding{ //业主 Person person; public WeddingCompany(Person person) { this.person = person; } @Override public void wedding() { before(); this.person.wedding(); after(); } private void before(){ System.out.println("布置会场"); } private void after(){ System.out.println("收钱呗"); }}