package com.Java;标签:target,静态,void,代理,婚礼,案例,Marry,HappyMarry,public From: https://www.cnblogs.com/fc666/p/17146703.html
interface Marry {
public void HappyMarry();
}
//静态代理总结
//代理对象和真实对象都要实现同一个接口
//代理对象要代理真实角色
//好处
//代理对象可以做很多真实对象做不了的事情
//真实对象专注做自己的事情
public class StaticDaili {
public static void main(String[] args) {
new Shopping(new You()).HappyMarry(); //执行方法
}
};
//我
class You implements Marry {
@Override
public void HappyMarry() {
System.out.println("我是学生,别收我钱!");
}
}
//代理角色 帮助我结婚
class Shopping implements Marry {
// 我
private Marry target;
public Shopping(Marry target) {
this.target = target;
}
@Override
public void HappyMarry() {
before(); //代理干的事情
target.HappyMarry(); //我干的事
after(); //代理干的事情
}
private void before() {
System.out.println("婚礼前 先交钱");
}
private void after() {
System.out.println("婚礼后 入洞房");
}
}