静态代理学习小例子

在hadoop技术内幕中第一次看到动态代理,准备学习,java基础才是王道
package proxy;
//静态代理学习,首先每个类都有一个代理类,他们实现同样的接口,代理类中利用一个实际的类实现自己的方法
/*代理模式涉及到三个角色:
抽象角色:声明真实角色的接口;
真实角色:抽象角色的实现;
代理角色:代理角色内可以含有真实角色的引用,同时可以实现一些附加操作。
*/
//以下就是抽象角色
 interface inter1
{
    public void print();
    

}
  //以下就是真实角色
 class People implements inter1
 {
     private String s;
      public People(String s1)
      {
          s=s1;
          
      }
    @Override
    public void print() {
        System.out.println(s);
        
    }
     
     
 }
 //代理角色
 class PeopleProxy implements inter1
 {

     People p1=null;
     public PeopleProxy(People p)
     {
         p1=p;
         
         
     }
    @Override
    public void print() {
        p1.print();
        
    }
     
     
 }

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        People p=new People("han");
        PeopleProxy proxy=new PeopleProxy(p);
        proxy.print();

    }

}
posted @ 2014-06-17 14:00  hansongjiang8  阅读(297)  评论(0编辑  收藏  举报