原文网址: https://www.cnblogs.com/V1haoge/p/6525527.html 代理模式很简单,只要记住以下关键点,简单易实现: (1)代理类与委托类实现同一接口 (2)在委托类中实现功能,在代理类的方法中中引用委托类的同名方法 (3)外部类调用委托类某个方法时,直接以接口指向代理类的实例,这正是代理的意义所在:屏蔽。 静态代理:在编译器就已经确定被代理的对象。 动态代理:在运行时,通过反射机制实现动态代理
1.待实现的接口
public interface ZiRanRen {
public void quanli();
}
2.委托类
public class Reed implements ZiRanRen {
public void eat(){
System.out.println("今天吃满汉全席");
}
public void drink(){
System.out.println("今天喝酸奶");
}
public void quanli() {
System.out.println("我赋予我的代理律师来行使这些权利,此时代理律师全权代理我处理某些事务");
}
}
3.代理类
public class LvShiProxy implements ZiRanRen {
@Override
public void quanli() {
Reed reed = new Reed();
reed.quanli();
}
}
4.客户端测试类
public class Clienter {
public static void main(String[] args) {
ZiRanRen lvShiPrpxy = new LvShiProxy();
lvShiPrpxy.quanli(); //我赋予我的代理律师来行使这些权利,此时代理律师全权代理我处理某些事务
}
}