接口应用之静态代理模式:代理类负责了被代理类的执行
//代理:为其他对象提供一种代理以控制对这个对象的访问
public class ProxyTest {
public static void main(String[] args) {
ProxyTest1 test1=new ProxyTest1();
test1.action();
}}
//定义一个要执行的动作
interface ProxyParent{
void action();//定义一个动作
}
//代理类
class ProxyTest1 implements ProxyParent{
ProxyParent test2;
public ProxyTest1(){
System.out.println("代理类开始执行");
test2=new ProxyTest2();
}
public void action(){
System.out.println("代理类中的方法");
test2.action();//被代理类的方法
System.out.println("代理类执行结束");
}
}
class ProxyTest2 implements ProxyParent{
@Override
public void action() {
System.out.println("被代理类执行");
}
}
总结:代理类最终执行的是被代理类的动作(可以将被代理类理解为“要买房子的人”,代理类理解为“链家房源中介”,代理类和被代理类都实现的那个接口为“房子”。
买房子的人通过中介去买房子,最终付钱的是买房子的人)