注意
真实对象和代理对象都要实现同一个接口
代理对象要代理真实角色
好处
代理对象可以做很多真实对象做不了的事情
真实对象专注做自己的事情
package Day5;
import java.security.PrivateKey;
//静态代理模式 代理对象代替真实对象做事
public class Wedding {
public static void main(String[] args) {
/WeddingCompany weddingCompany = new WeddingCompany(new you());//代理对象代表真实对象创建对象
weddingCompany.Marry();/
new Thread(()-> System.out.println(“拉姆达表达式”)).start();//lambda表达式
WeddingCompany weddingCompany = new WeddingCompany(new you());
weddingCompany.Marry();
}
}
interface Marry{//方法
void Marry();
}
class you implements Marry{//真实对象
@Override
public void Marry() {//真实对象的方法
System.out.println("我要结婚啦");
}
}
class WeddingCompany implements Marry{ //代理对象
private Marry target;//代理真实角色–》you
public WeddingCompany(Marry target) { //代理对象传递参数
this.target = target;
}
@Override
public void Marry() {
brfore();//代理对象的方法
this.target.Marry();//代理对象使用真实对象的方法
after();//代理对象的方法
}
private void after() {
System.out.println("洞房");
}
private void brfore() {
System.out.println("收彩礼");
}
}