静态代理03
静态代理模式
实现静态代理模式,类似Thread类
package com.cnblo.www.staticproxy;
/*
* 静态代理模式总结:
* 真实对象和代理对象都要实现同一个接口
* 代理对象要代理真实角色
*
* 优点;
* //// 代理对象可以做很多真实对象做不了的事情
* *//// 真实对象专注做自己的事情。
public class StaProxy {
public static void main(String xargs[]){
/*
* Mr m=new Mr();
m.happyMary();
*/
WindCompany wc=new WindCompany(new Mr());
wc.happyMary();
/*
* new Thread( new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
}
},"我爱你").start();*/
// new Thread( ()-> System.out.print("我爱你")).start();
}
}
interface Mary{
void happyMary();
}
//真实角色
class Mr implements Mary {
@Override
public void happyMary() {
// TODO Auto-generated method stub
System.out.println("Mr要结婚了,good");
}
}
class Mss {
}
//代理角色,帮处理结婚相关事宜
class WindCompany implements Mary{
//代理谁--》真实角色
private Mary target;
@Override
public void happyMary() {
// TODO Auto-generated method stub
this.beforMar();
this.target.happyMary();
this.afterMar();
}
public WindCompany(Mary target1) {
super();
this.target = target1;
}
private void beforMar(){
System.out.println("结婚之前,婚礼布置现场");
}
private void afterMar(){
System.out.println("结婚之后,收拾,收钱");
}
}
浙公网安备 33010602011771号