JavaSE 反射 Part8
来源:互联网 发布:java程序员等级划分 编辑:程序博客网 时间:2024/05/17 22:14
原作者:尚硅谷-宋红康
AOP
interface Human { void info(); void fly();}class SuperMan implements Human { @Override public void info() { System.out.println("SuperMan's Info()"); } @Override public void fly() { System.out.println("SuperMan's fly()"); }}class HumanUtil { public void method1() { System.out.println("=======方法一======="); } public void method2() { System.out.println("=======方法二======="); }}class MyInvocationHandler1 implements InvocationHandler { // 被代理对象 private Object obj; private HumanUtil hu = new HumanUtil(); public void setObj(Object obj) { this.obj = obj; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { hu.method1(); // 执行被代理对象的方法 Object executeResult = method.invoke(obj, args); hu.method2(); return executeResult; }}class MyProxy { // 创建代理对象 public static Object getProxy(Object obj) { MyInvocationHandler1 mih = new MyInvocationHandler1(); mih.setObj(obj); return Proxy.newProxyInstance(obj.getClass().getClassLoader(), obj.getClass().getInterfaces(), mih); }}public class AOPTest { public static void main(String[] args) { SuperMan sm = new SuperMan(); Human human = (Human) MyProxy.getProxy(sm); human.fly(); System.out.println(); human.info(); System.out.println(); NikeClothFactory ncf = new NikeClothFactory(); ClothFactory cf = (ClothFactory) MyProxy.getProxy(ncf); cf.productCloth(); }}
阅读全文
0 0
- JavaSE 反射 Part8
- javaSE-反射
- [JavaSE]反射
- JavaSE学习笔记--反射
- JavaSE基础:反射机制
- javaSE之反射
- JavaSE 反射Reflection初学
- JavaSE 反射机制
- JavaSE 反射 (进阶)
- JavaSE 反射技术
- JavaSE学习--反射
- JavaSe——反射
- 黑马程序员-javase-反射
- JavaSE增强之反射
- JavaSE-反射机制
- JavaSE反射机制-笔记
- 【javase复习】## 反射 ##
- JavaSE基础之反射
- LeetCode.200 Number of Islands
- Capstone训练营6
- iOS 11 关于相册权限的问题
- FastJson的使用方法总结
- cookie和sessionStorage、localStorage的区别
- JavaSE 反射 Part8
- android百度地图开发V4.5最新版(7)---POI搜索之全城搜索
- spring基于构造方法的依赖注入
- angularJs 基础学习
- 基于高德地图的应用开发-----DIY地图
- Lucene介绍和实战
- sdp文件详细总结
- ijkplayer
- 程序5