java代理模式有几种?

出于某些原因,需要为某个对象提供代理,以便控制对该对象的访问,此时,该对象不适合访问或无法直接引用目标对象,而代理对象则充当了访问对象与目标对象之间的中介。

1、分类

Java中的代理按照代理类生成时机不同又分为静态代理和动态代理。静态代理类在编译期就生成,而动态代理类则是在Java运行时动态生成,动态代理又有JDK代理和CGLib代理两种。

2、代理实例

publicclassHelloWorld{
publicstaticvoidmain(String[]args){
ProxyPointpp=newProxyPoint();
pp.sell();
}
}

//卖票接口
interfaceSellTickets{
voidsell();
}

//火车站:火车站具有卖票功能,所以需要实现SellTickets接口
classTrainStationimplementsSellTickets{
@Override
publicvoidsell(){
System.out.println("火车站卖票");
}
}

//代售点
classProxyPointimplementsSellTickets{
privateTrainStationstation=newTrainStation();

@Override
publicvoidsell(){
System.out.println("代售点收起一些服务费用");
station.sell();
}
}
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容