java代理(一)--静态代理

在java中,代理模式运用非常广泛,主要包括三种方式:静态代理,jdk代理,cglib代理。

在本节,我们主要介绍静态代理,静态代理是最简单的代理实现,由于已知代理目标,所以可以在

编码中直接实现,实例如下:

public class StaticProxyMain {

    public static void main(String[] args) {
        HelloService helloService = new HelloServiceImpl();
        HelloServiceProxy helloServiceProxy = new HelloServiceProxy(helloService);
        helloServiceProxy.hello("china");
    }


    interface HelloService {
        void hello(String name);
    }

    static class HelloServiceImpl implements HelloService{
        @Override
        public void hello(String name) {
            System.out.println("hello,"+name);
        }
    }

    //代理类
    static class HelloServiceProxy implements HelloService{
        private HelloService source;
        public HelloServiceProxy(HelloService source) {
            this.source = source;
        }

        @Override
        public void hello(String name) {
            System.out.println("use static proxy");
            source.hello(name);
        }
    }
}




你可能感兴趣的:(java)