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

回到顶部