Java多线程02_Thread与静态代理
静态代理示例:
真实对象和代理对象都要 实现同一个接口
代理是对方法的 增强
public class StaticProxy {
public static void main(String[] args) {
WeddingCompany weddingCompany = new WeddingCompany(new BLU());
weddingCompany.HappyMarry();
}
}
interface Marry{
void HappyMarry();
}
class BLU implements Marry{
@Override
public void HappyMarry() {
System.out.println("BLU要结婚了,超开心");
}
}
class WeddingCompany implements Marry{
private Marry target;
public WeddingCompany(Marry target) {
this.target = target;
}
@Override
public void HappyMarry() {
Before();
this.target.HappyMarry();
After();
}
private void Before() {
System.out.println("结婚准备.....");
}
private void After() {
System.out.println("结婚结束.....");
}
}
静态代理和Thread对比
new WeddingCompany(new BLU()).HappyMarry();
new Thread(()->System.out.println("I love you")).start();