java 静态代理总结

时间:2023-11-26 08:33:56

首先:定义一个抽象类或借口

  例:

    package JingTai;

    public interface JingTai1 {
    public void show();
    }

接着:定义一个被代理的类,他需要继承上面的类或实现上面的方法

  例:

  package JingTai;

  public class zhen implements JingTai1{

  @Override
  public void show() {
  // TODO Auto-generated method stub
  System.out.println("我是真实类");
  }

  }

再:定义一个代理类,同样需要继承上面的类或实现上面的方法

例:

package JingTai;

public class dai implements JingTai1{
private zhen a;

public dai(zhen a) {//通过构造器传入一个被代理类
super();
this.a = a;
}

@Override
public void show() {//在重写的方法中,完成自己和被代理类的功能
// TODO Auto-generated method stub
System.out.println("在真实类执行前-->我是代理类");
a.show();
System.out.println("在真实类执行后-->我是代理类");
}

}

结局:测试

例:

package JingTai;

public class test {

public static void main(String[] args) {

zhen a=new zhen();//定义一个被代理类
dai b=new dai(a);//定义一个代理类,传入被代理类
b.show();
}
}