静态代理模式
实现静态代理模式,类似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(){@Overridepublic void run() {// TODO Auto-generated method stub }},"我爱你").start();*/// new Thread( ()-> System.out.print("我爱你")).start();}}interface Mary{void happyMary();
}//真实角色
class Mr implements Mary {@Overridepublic void happyMary() {// TODO Auto-generated method stubSystem.out.println("Mr要结婚了,good");}}class Mss {}
//代理角色,帮处理结婚相关事宜
class WindCompany implements Mary{//代理谁--》真实角色private Mary target;@Overridepublic void happyMary() {// TODO Auto-generated method stubthis.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("结婚之后,收拾,收钱");}}