java静态代理模式

//HelloService.java 

package proxy;

import java.util.Date;
public interface HelloService{
  public String echo(String msg);
  public Date getTime();

 

//

HelloServiceImpl.java

 

package proxy;
import java.util.Date;
public class HelloServiceImpl implements HelloService{
  public String echo(String msg){
    return "echo:"+msg;
  }
  public Date getTime(){
    return new Date();
  }

 

//HelloServiceProxy.java 

 

package proxy;
import java.util.Date;
public class HelloServiceProxy implements HelloService{
  private HelloService helloService;
  public HelloServiceProxy(HelloService helloService){
    this.helloService=helloService;
  }
  public void setHelloServiceProxy(HelloService helloService){
    this.helloService=helloService;
  }
  public String echo(String msg){
    System.out.println("before calling echo()");
    String result=helloService.echo(msg);
    System.out.println("after calling echo()");
    return result;
  }
  public Date getTime(){
    System.out.println("before calling getTime()");
    Date date=helloService.getTime();
    System.out.println("after calling getTime()");
    return date;
  }
}

 

//Client1.java

package proxy;
public class Client1{
  public static void main(String args[]){
    HelloService helloService=new HelloServiceImpl();
    HelloService helloServiceProxy=new HelloServiceProxy(helloService);
    System.out.println(helloServiceProxy.echo("hello"));
  }
}

 

 

 

posted @ 2018-11-30 21:26  lomt5  阅读(66)  评论(0)    收藏  举报