码迷,mamicode.com
首页 > 编程语言 > 详细

Java代理

时间:2017-11-02 20:03:02      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:log   void   obj   测试   ret   getc   imp   java代理   接口   

我是自己理解的,可能会有好多问题。

一  、

//创建一个需要实现display功能的 接口
package com.chinasoft.proxy;
public interface 功能接口 {
void display();
}

二、

//实现类实现display的方法
package com.chinasoft.proxy;
public class 实现功能 implements 功能接口 {
@Override
public void display() {
// TODO Auto-generated method stub
System.out.println("啦啦啦___这就是爱___啦啦啦");
}
}

三、

//代理功能 
package com.chinasoft.proxy;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.logging.LogManager;

public class 代理功能 implements InvocationHandler {
private Object target;

public 代理功能(Object target) {
super();
this.target = target;
}

public Object getproxy(Class<?> c) {
return Proxy.newProxyInstance(c.getClassLoader(), target.getClass().getInterfaces(), this);

}

@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
// TODO Auto-generated method stub

System.out.println("------------------before------------------");
Object result=method.invoke(target, args);
System.out.println("-------------------after------------------");

return result;
}

}

四、

//测试
package com.chinasoft.proxy;

public class TestIV {

public static void main(String[] args) {
// TODO Auto-generated method stub
实现功能 i = new 实现功能();//创建功能的实例
代理功能 iv = new 代理功能(i);// 实例化InvocationHandler
功能接口 proxy = (功能接口) iv.getproxy(功能接口.class);//实例化代理
proxy.display();
}

}

 

五、//测试结果

------------------before------------------
啦啦啦___这就是爱___啦啦啦
-------------------after------------------

 

Java代理

标签:log   void   obj   测试   ret   getc   imp   java代理   接口   

原文地址:http://www.cnblogs.com/qiqisx/p/7773792.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!