品易云推流 关闭
文章详情页
文章 > java基础 > java代理模式有几种?

java代理模式有几种?

头像

小妮浅浅

2021-02-25 17:03:252419浏览 · 0收藏 · 0评论

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

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大模式,希望能对大家有所帮助。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图