java代理模式有几种?
出于某些原因,需要为某个对象提供代理,以便控制对该对象的访问,此时,该对象不适合访问或无法直接引用目标对象,而代理对象则充当了访问对象与目标对象之间的中介。
1、分类
Java中的代理按照代理类生成时机不同又分为静态代理和动态代理。静态代理类在编译期就生成,而动态代理类则是在Java运行时动态生成,动态代理又有JDK代理和CGLib代理两种。
2、代理实例
public class HelloWorld {public static void main(String[] args) {
ProxyPoint pp = new ProxyPoint();
pp.sell();
}
}
// 卖票接口
interface SellTickets {
void sell();
}
// 火车站:火车站具有卖票功能,所以需要实现SellTickets接口
class TrainStation implements SellTickets {
@Override
public void sell() {
System.out.println("火车站卖票");
}
}
// 代售点
class ProxyPoint implements SellTickets {
private TrainStation station = new TrainStation();
@Override
public void sell() {
System.out.println("代售点收起一些服务费用");
station.sell();
}
}
以上就是java代理的2大模式,希望能对大家有所帮助。
以上是 java代理模式有几种? 的全部内容, 来源链接: utcz.com/z/543513.html