您的位置:首页 > 编程语言 > Java开发

java的代理模式(动态代理和静态代理)

2017-03-16 17:49 183 查看
代理模式的基本定义:为其他对象提供一种代理已控制对这个对象的访问,代理祈祷中介的作用,可以去掉功能服务或增加额外的服务。

常见的几种代理模式如图:



下边我们详细介绍智能引用代理



我们通过一个例子了解静态代理和动态代理

静态代理类的实现

创建一个Car接口

public interface Move {
public void run();

}
创建一个Car实体

public class Car implements Move {
public void run() {
System.out.println("汽车行驶中。。。");
}

}
用继承的方式实现静态代理

public class Car1 extends Car {
public void run(){
System.out.println("汽车开始行驶");
super.run();
System.out.println("汽车行驶结束");
}

}
用聚合的方式实现静态代理

public class Car2 implements Move {
private Car car;
public Car2(Car car){
this.car=car;
}
public void run() {
System.out.println("汽车开始行驶");
car.run();
System.out.println("汽车行驶结束");
}

}
 
测试类

public class Test {
public static void main(String arg[]){
//使用继承方法实现静态代理
Move car=new Car1();
car.run();
//使用聚合方式实现静态代理
Car c=new Car();
Move ca=new Car2(c);
ca.run();
}

}
JDK动态代理类的实现
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: