package com.example.demo; /** * @Description 接口的应用:代理模式 * 静态代理:每个接口对应一个代理类,静态的去代理每个接口的实现类 * 动态代理:不同的接口对应同一个代理类,动态的去代理不同接口的实现类 * (动态的创建代理类对象) * @Auther guofeng.xie * @Date 2020/10/11 20:14 */ public class TestProxy { public static void main(String[] args) { //创建代理类对象 ProxyExample proxyExample = new ProxyExample(); //调用代理类的方法,实际执行的是被代理类的方法 proxyExample.action(); } } interface Example{ void action(); } //代理类 class ProxyExample implements Example{ Example exa; public ProxyExample() { System.out.println("代理类创建成功~~"); exa = new ExampleImpl(); } @Override public void action() { System.out.println("代理类开始执行~~"); exa.action(); System.out.println("代理类执行结束~~"); } } //被代理类 class ExampleImpl implements Example{ @Override public void action() { System.out.println("被代理类开始执行~~"); System.out.println("具体的操作~~"); System.out.println("被代理类执行完毕~~"); } }