几句话讲明白代理模式
静态代理:
1.定义 个接口A,接口有个方法methodA();
2.定义一个实现类B,实现这个接口A,并重写方法methodA();
3.定义一个代理类C,也实现接口A,并将类B作为他的一个属性,
然后C也重写方法methodA();但方法的实现为B,并调用B中重写的方法
这样就是一个简单的代理模式,其中B和C实现了相同的接口,都重写了接口中的方法,但最终调用C的方法的时候,真正的实现者却是B,我们称C代理了B。
伪代码走起来:
接口A{methodA();
}类B,实现接口A{@OverridemethodA(){打印一句话("我是B的实现");}
}
类C,也实现接口A{private 类B b引用;methodA{b引用.methodA();}
}来个主方法测试下:main方法{类C c引用 = new 类C();打印:c应用.methodA();
}
结果就是类B的实现
###动态代理