Java多线程02_Thread与静态代理

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();

猜你喜欢

转载自blog.csdn.net/BLU_111/article/details/108256922
今日推荐