接口
package org.zbq.proxy;
public interface Subject {
public String say(String name, int age);
}
真实主题类
package org.zbq.proxy;
public class RealSubject implements Subject {
@Override
public String say(String name, int age) {
return "My name is " + name + ", I am " + age +" old";
}
}
代理主题类
package org.zbq.proxy;
public class ProxySubject implements Subject {
private Subject sub = null;
public ProxySubject(Subject sub){
this.sub = sub;
}
@Override
public String say(String name, int age) {
return this.sub.say(name, age);
}
}
测试类
package org.zbq.proxy;
public class ProxyTest {
public static void main(String[] args) {
Subject sub = new ProxySubject(new RealSubject());
System.out.println(sub.say("ZhangSan", 21));
}
}
本文深入探讨Java中的代理模式,通过具体实现展示了如何使用代理主题类来调用真实主题类的方法,同时保持了设计的灵活性与安全性。详细介绍了代理模式的应用场景、关键代码实现及实例演示。
168万+

被折叠的 条评论
为什么被折叠?



