Android知识Android技术知识

Java动态代理简单步骤

2016-09-21  本文已影响88人  b496178cdc84

实现步骤。
1、定义Hook类实现InvocationHandler接口。
2、在Hook类中定义需要被代理的对象。

public class IHook implements InvocationHandler {  

  private Object beHookedObj;//这个对象是你要代理的对象  
 
 public void setBeHookedObj(Object beHookedObj) { 
       this.beHookedObj = beHookedObj;  
  }    
@Override    
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable{
  System.out.println("执行方法");       
  return method.invoke(beHookedObj, args); 
   }}

3、实例化hook 并 传入需要被代理的对象obj
4、调用Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(), hook);
obj为被代理对象
5、在Hook的invoke方法里面dosomething就可以了

上一篇下一篇

猜你喜欢

热点阅读