作用:
1、控制访问 。在代理中.控制是否可以调用目标对象的方法
2.功能增强,可以在完成目标对象的调用时。附加一些额外的功能,,这些额外的功能叫做功能增强
代理的实现方式
1.静态代理:代理类是手工实现的java文件,同时代理的目标对象是规定的。
1.优点:容易理解,使用方便
2.缺点:在目标类比较多的时候,会产生大量的代理类;当接口改变时,影响的目标和代理比较多些,都需要修改
1.不用创建代理类,
2.动态代理:使用反射机制,在程序执行中,创建代理类对象。特点,不用创建类文件,代理的目标类是活动的,可设置的
2.可以给不同的目标随时创建代理