做java的永远跳不过的一个坎就是反射,对反射的理解和利用 的能力 是一个天花板

package ft1;import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;interface wt {void show();int add(int a, int b);int show(int a, String s);
}class wg implements wt {public void show() {}public int add(int a, int b) {return a + b;}public int show(int a, String s) {// TODO Auto-generated method stubSystem.out.println(s);return a;};
}class proxy<T> implements InvocationHandler {Object proxy;public proxy(Object proxy) {this.proxy = proxy;}T newProxyInstance(ClassLoader loader, Class<T>[] interfaces) {return (T) Proxy.newProxyInstance(loader, interfaces, this);}public Object invoke(Object pp, Method method, Object[] args)throws Throwable {System.out.println(method.getName() + "函数代理执行开始");System.out.println("...................");System.out.println("函数名称是" + method.getName());if (args != null) {System.out.println("参数有" + args.length + "个");for (int i = 0; i < args.length; i++) {System.out.println("参数值" + args[i] + " 参数类型"+ args[i].getClass().getName() + " ");}System.out.println();} else {System.out.println("没有参数");}System.out.println("返回值类型是" + method.getReturnType());System.out.println("...................");System.out.println("执行体xxx");Object ob = method.invoke(proxy, args);System.out.println("执行体xxx");if (method.getReturnType().toString().equals("void"))System.out.println(method.getName() + "没有返回值");else {System.out.println(method.getName() + "返回值是 " + ob);}System.out.println(method.getName() + "此函数代理执行完成\n");return ob;}}public class reflectTest {public static void main(String[] args) {wg g = new wg();wt t = new proxy<wt>(g).newProxyInstance(reflectTest.class.getClassLoader(), new Class[] { wt.class });t.show();System.out.println(t.add(1, 5));System.out.println(t.show(1, "ttttttttttttt"));System.out.println("######################################");}
}

关于反射的完整 练习相关推荐

  1. Unity shader Note :高级纹理(CubeMap反射折射菲涅尔,Rendermap镜子玻璃,程序纹理)

    1.Cubemap–反射折射 使用脚本来创建Cubemap ①通过Camera.RenderToCubemap 把任意位置观察到的场景图制作成一张Cubemap之中 ②脚本使用自定义编译窗体的命令 – ...

  2. 【项目四】C++实现反射机制(通过宏和包装Lambda表达式实现)

    前言 昨天彻底完善了C++实现事件委托,与观察者模式有关的学习总算可以结束了,于是我翻开了<大话设计模式>的下一页,抽象工厂,令人无语的是其中又用到了C++中没有的技术--反射机制.既然没 ...

  3. 【史上最强JavaEE笔记】之反射篇(LOL新技能?)

    开场白: 大家好,我是潘师傅,各位好久不见,好久没有跟大家分享我的疯狂笔记了,大家有没有想我呢?哈哈...之前给大家整理分享的<史上最强JavaSE笔记>之数组篇不知道大家看了没有,大家要 ...

  4. UnityShader32:PBR(一)

    一.整装待发 1.1:万事俱备 UnityShader相关: UnityShader1:渲染流水线 ~ UnityShader24:最简单的屏幕后处理例子 最好还是了解一个图形接口:OpenGL 或者 ...

  5. 人体神经系统结构图高清,人体神经系统全貌图片

    人体神经系统的各部分名称 谷歌人工智能写作项目:神经网络伪原创 人体神经结构图???? 如图甲为人体神经系统的部分结构图,图乙为对应图甲反射弧局部放大的效果图,请回答下列相关问题.(1) . (1)反 ...

  6. 人体神经系统示意图手绘,人体神经结构图示意图

    人体神经系统的各部分名称 谷歌人工智能写作项目:小发猫 图为人体神经系统的部分示意图,据图分析下列说法正确的是( )A.神经冲动在反射弧上的单向传递取决 AI爱发猫. A.根据题意和图示分析可知:神经 ...

  7. [论文翻译]A review on image segmentation techniques

    引介 1993年Pattern Recognition的文章. Abstract 许多图像分割技术在文献中是可用的.这些技术中的一些仅使用灰度级直方图,有些使用空间细节,而其他技术则使用模糊集理论方法 ...

  8. 人体的神经系统结构图,身体的神经系统图片

    如图是人体神经系统模式图,请据图回答:(1)神经系统是由[______]______.[______]______和它们发出的[ (1)神经系统由脑.脊髓和它们所发出的神经组成.脑和脊髓是神经系统的中 ...

  9. Java期末复习知识点 下

    碎碎念~ 终于来到了最后一堆啦,但其实好像前面的知识也没有消化地很好,但是会在不断地码代码的过程中好好吸收消化这些知识滴~ 完结撒花~ 在末尾的那一些知识其实自己还是没有理解好,最主要的是怎么把知识转 ...

最新文章

  1. bzoj5368 [Pkusc2018]真实排名
  2. 解决C/C++语言中全局变量重复定义的问题
  3. 多线程下不能用truncate吗_那么多的化妆品,怀孕后都不能用了吗?
  4. windows apche php mysql zend_Windows XP上安装配置 Apache+PHP+Mysql+Zend
  5. golang mysql大量连接_golang mysql 如何设置最大连接数和最大空闲连接数
  6. 达内 Java 全套教材 PDF 格式
  7. Spring源码学习笔记:Spring设计模式对比和Spring的OOB,BOP,AOP,IOC,DI/DL
  8. 利用端口映射解决:拥有公网IP有限,内网需要访问因特网
  9. dlib 人脸特征点检测
  10. 创建VSIX项目模板
  11. matlab拟合曲线poly交点,matlab 离散曲线求交点
  12. U-Boot中ubi和ubifs命令的使用
  13. 安装WPS后,word文件无法预览,无法右键新建的解决办法
  14. flash 火狐总是崩溃_火狐浏览器flash插件崩溃怎么办?解决firefox经常出现Adobe Flash 插件已崩溃方法...
  15. SQL学习笔记——数据更新update语句的使用
  16. 测试知识 - 关于电脑
  17. 消息系统(ActiveMQ)
  18. 代码解读十 文件名“Ano_FlightDataCal.c”
  19. OLTP OLAP
  20. C 语言到底能做什么?What can C do?

热门文章

  1. 现代软件工程讲义 11 项目管理 - 事后诸葛亮会议
  2. Exchange 2007 接收zip附件邮件时退信
  3. android studio logcat 无筛选 显示全部日志 无应用包名区分
  4. IReport报表分组与分组统计
  5. Dilated/Atrous conv 空洞卷积/多孔卷积
  6. java.lang包—枚举类Enum
  7. Leetcode643.Maximum Average Subarray I子数组的最大平均数1
  8. 2018最新手机号正则
  9. 20172330 2017-2018-1 《Java程序设计》第七周学习总结
  10. SQL Server 2008 R2的发布订阅配置实践