java 动态代理
来源:互联网 发布:淘宝可以微信支付吗 编辑:程序博客网 时间:2024/06/03 21:20
public interface Subway {int i=0;int sellTick();}
public class Atmachine implements Subway {@Overridepublic int sellTick() {// TODO Auto-generated method stubSystem.out.println("出票");return i;}}
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class DynamicProxy implements InvocationHandler{/** * 动态代理 * @param args */private Object obj=null;/** * 返回一个指定接口的代理类实例,该接口可以将方法调用指派到指定的调用处理程序。* getClassLoader() - 定义代理类的类加载器* getInterfaces() - 代理类要实现的接口列表* this- 指派方法调用的调用处理程序*/public Object obj(Object ob){this.obj=ob;return Proxy.newProxyInstance(obj.getClass().getClassLoader(), obj.getClass().getInterfaces(), this);}/** * 每个代理实例都具有一个关联的调用处理程序。对代理实例调用方法时,* 将对方法调用进行编码并将其指派到它的调用处理程序的 invoke 方法* @param proxy 代理对象(注意不是目标对象) * @param method 被代理的方法 * @param args 被代理的方法的参数集*/@Overridepublic Object invoke(Object proxy, Method method, Object[] args)throws Throwable {System.out.println("通过代理");return (Integer)method.invoke(obj, args);}public static void main(String[] args){DynamicProxy proxy=new DynamicProxy();Subway sub= (Subway)proxy.obj(new Atmachine());System.out.println(sub.sellTick());}}
0 0
- Java 代理,动态代理
- [Java] Java 动态代理
- java代理及动态代理
- java代理模式--动态代理
- Java静态代理、动态代理
- Java 代理之 动态代理
- Java 代理与动态代理
- java静态代理,动态代理
- 代理模式&java动态代理
- Java代理与动态代理
- Java静态代理动态代理
- JAVA代理模式--动态代理
- java 代理和动态代理
- JAVA动态代理 代理模式
- Java动态代理--jdk代理
- Java动态代理--cglib代理
- Java 代理与动态代理
- java代理模式-动态代理
- 九度OnlineJudge题目1176:树查找
- VS2010/MFC编程入门之二十三(常用控件:列表框控件ListBox)
- 六个月学会一门语言
- cp -afr _install/* ...
- 理解 公钥加密 与 数字签名 之间的联系与区别
- java 动态代理
- 如何才能养成好习惯
- Linux分区
- 思考ANDROID架构(三):WHAT & HOW-TO,ANDROID框架API的角色是什么?
- 内核态下基于动态感染技术的应用程序执行保护(四 Hook SSDT)
- 漫谈Java加密技术
- Android - Linkify 详解
- HBase Block Cache的重要实现细节和In-Memory Cache的特点
- Unix中的特殊文件及文件属性