欢迎使用CSDN-markdown编辑器
来源:互联网 发布:网络兼职诈骗怎么报案 编辑:程序博客网 时间:2024/06/05 02:29
interface RentInter{ void print(); String request(float price);}class RentSub implements RentInter{ @Override public void print() { System.out.println("我要租一套房子!"); } @Override public String request(float price) { String s = "我的心理价位是:" + price; return s; }}class RentHandler implements InvocationHandler{ private Object obj; public Object bind(Object obj){ this.obj = obj; return Proxy.newProxyInstance(obj.getClass().getClassLoader() , obj.getClass().getInterfaces() , this); } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("借钱之前"); System.out.println("Method:" + method); Object o = method.invoke(obj, args); System.out.println("借钱之后"); return o; }}public class Rent { public static void main(String[] args) { RentHandler handler = new RentHandler(); RentInter rentInter = (RentInter) handler.bind(new RentSub()); rentInter.print(); System.out.println(rentInter.request(15.5f)); }}
InvocationHandler接口:
public interface InvocationHandler {
public Object invoke(Object proxy,Method method,Object[] args) throws Throwable;
}
参数说明:
Object proxy:指被代理的对象。
Method method:要调用的方法
Object[] args:方法调用时所需要的参数
可以将InvocationHandler接口的子类想象成一个代理的最终操作类,替换掉ProxySubject。
Proxy类:
Proxy类是专门完成代理的操作类,可以通过此类为一个或多个接口动态地生成实现类,此类提供了如下的操作方法:
public static Object newProxyInstance(ClassLoader loader, Class
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 【Uvalive3942】Remember the Word——字典树+dp
- Gradle中打jar包的方法,Gradle 自动化构建工具,Android Studio 中 Gradle 的使用方法,AndroidStudio使用过程中遇到的bug
- ListView的优化
- UE4系列引擎的setup.bat
- linux内核的编译
- 欢迎使用CSDN-markdown编辑器
- Buy Low, Buy Lower 逢低吸纳
- 并查集—1001 舒适的路线题解
- Codeforces Round #376 (Div. 2) C 并查集
- C#中的线程之Abort陷阱
- portablepython
- google protocol学习
- 正规式转确定有穷自动机(NFA)
- 排序