接口
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));
}
}