静态代理学习小例子

在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();



    }



}

你可能感兴趣的:(静态代理)