• 技术文章 >java >java基础

    java代理模式有几种?

    小妮浅浅小妮浅浅2021-02-25 17:03:25原创1983

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

    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代理模式
    品易云
    上一篇:java虚拟机中的栈结构如何理解 下一篇:java之JDK动态代理是什么

    相关文章推荐

    • java之JVM指令系统是什么?• java中创建泛型数组的方法• java虚拟机中的栈结构如何理解• java ThreadLocal内存泄漏的解决• java如何下载web文件

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网