静态代理:指的是用一个代理对象帮助对象完成扩展功能,比如一个结婚对象,那么婚庆公司就可以是结婚对象的一个代理类,婚庆公司可以完成结婚的所有事情,话不多说上代码:
//定义一个幸福的接口
public interface Love{
void happy();
}
// 定义一个结婚类
class Married implements Love{
@Override
public void happy(){
System.out.println("结婚是幸福的。。。");
}
}
//定义一个结婚代理类
class MarriedProxy implements Love{
//私有化结婚
private Married married;
//构造方法
public MarriedProxy(Married married){
this.married = married;
}
@Override
public void happy(){
System.out.println("结婚前收分子。。。。");
married.happy();
System.out.println("结婚前收分子。。。。");
}
}
class client{
public static void main(String[] args){
//定义幸福对象
Married married = new Married();
MarriedProxy marriedProxy = new MarriedProxy(married);
marriedProxy.happy();
}
}
这就是静态代理的简单实现,首先定义一个接口,接口里面定义要做的事情,结婚就是为了幸福,定义幸福接口,然后定义结婚接口并实现性福接口,然后定义结婚的代理类,也实现幸福接口。在调用是,实现结婚对象,通过结婚代理的构造方法,传入结婚对象,实现结婚的整个流程。