静态代理比较简单 直接上代码 不做解释
/**
* 抽象角色
* 定义为接口或者抽象类,定义方法
* @author BaiWen
*
*/
public interface Subject {
public void request();
}
/**
* 真实角色
* 实现接口,实现方法
* @author BaiWen
*
*/
public class RealSubject implements Subject {
@Override
public void request() {
System.out.println("RealSubject.request invoke");
}
}
/**
* 代理角色
* 实现抽象角色,并定义一个真实角色的成员变量
* @author BaiWen
*
*/
public class ProxySubject implements Subject {
private RealSubject subject = new RealSubject();
@Override
public void request() {
subject.request();
}
}
/**
* 测试客户端
* @author BaiWen
*
*/
public class Client {
public static void main(String[] args) {
Subject subject = new ProxySubject();
subject.request();
}
}