- 浏览: 354474 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (335)
- C++ (190)
- 设计模式 (43)
- 数据库技术 (5)
- 网络编程 (11)
- 自动化测试 (6)
- Linux (13)
- OpenSSL (10)
- MS Crypt API (5)
- SCM (2)
- English (4)
- Android (10)
- EMV规范 (1)
- Saturn Platform (0)
- C (10)
- SQL (2)
- ASP.NET (3)
- 英语口语学习 (3)
- 调试工具 (21)
- 编译技术 (5)
- UML (1)
- 项目管理 (5)
- 敏捷开发 (2)
- Http Server (6)
- 代码审查、代码分析 (5)
- 面试基础 (10)
- 重点知识 (16)
- STL (6)
- Efficient C++资料 (8)
- 数据结构和算法 (7)
- 读书笔记 (0)
- 开源项目 (4)
- 多线程 (2)
- Console App (6)
- 个人开源项目 (4)
- IBM DevelopWorks (4)
- Java (16)
- 内存泄漏相关调试和检测 (13)
- 软件测试相关技术 (2)
- C# (11)
- Apple Related (1)
- 软件测试和管理 (2)
- EMV (1)
- Python (1)
- Node.js (6)
- JavaScript (5)
- VUE (1)
- Frontend (1)
- Backend (4)
- RESTful API (3)
- Firebase (3)
最新评论
-
u013189503:
来个密码吧
[C++][Logging] 项目中写日志模块的实现 -
wyf_vc:
来个密码啊!!
[C++][Logging] 项目中写日志模块的实现
参考链接
http://www.cnblogs.com/mengdd/archive/2013/01/26/2877972.html
http://www.cnblogs.com/mengdd/archive/2013/01/26/2877972.html
import java.lang.reflect.Method; public class TestReflect { /** * @param args * @throws Exception */ public static void TestCase1(String[] args) throws Exception { //获得字符串所标识的类的class对象 Class<?> classType = Class.forName("java.lang.String");//在此处传入字符串指定类名,所以参数获取可以是一个运行期的行为,可以用args[0] //返回class对象所对应的类或接口中,所声明的所有方法的数组(包括私有方法) Method[] methods = classType.getDeclaredMethods(); //遍历输出所有方法声明 for(Method method : methods) { System.out.println(method); } } public static void TestCase2(String[] args) throws Exception { // 以前的常规执行手段 InvokeTester tester = new InvokeTester(); System.out.println(tester.add(1, 2)); System.out.println(tester.echo("Tom")); System.out.println("---------------------------"); // 通过反射的方式 // 第一步,获取Class对象 // 前面用的方法是:Class.forName()方法获取 // 这里用第二种方法,类名.class Class<?> classType = InvokeTester.class; // 生成新的对象:用newInstance()方法 Object invokeTester = classType.newInstance(); System.out.println(invokeTester instanceof InvokeTester); // 输出true // 通过反射调用方法 // 首先需要获得与该方法对应的Method对象 Method addMethod = classType.getMethod("add", new Class[] { int.class, int.class }); // 第一个参数是方法名,第二个参数是这个方法所需要的参数的Class对象的数组 // 调用目标方法 Object result = addMethod.invoke(invokeTester, new Object[] { 1, 2 }); System.out.println(result); // 此时result是Integer类型 //调用第二个方法 Method echoMethod = classType.getDeclaredMethod("echo", new Class[]{String.class}); Object result2 = echoMethod.invoke(invokeTester, new Object[]{"Tom"}); System.out.println(result2); } public static void main(String[] args) throws Exception { TestCase1(args); TestCase2(args); } } class InvokeTester { public int add(int param1, int param2) { return param1 + param2; } public String echo(String message) { return "Hello: " + message; } }
发表评论
-
[轉]java中String的“==”和equals判断相等性
2017-11-27 15:24 413http://blog.csdn.net/liucheng20 ... -
Android NDK搭建環境
2017-11-27 13:25 530https://www.cnblogs.com/ut2016- ... -
Java语言编码规范
2017-06-27 15:54 531http://morningspace.51.net/reso ... -
Java AWT应用示例 - 持续更新
2017-06-27 11:39 594/* * @(#)SampleAWT.java ... -
Java 事件模型基础:监听器、事件、事件源、事件注册
2017-06-27 08:55 780转自 http://www.cnblogs.com/mengd ... -
Java中基本数据类型和包装器类型的关系
2017-06-27 08:37 721转自 http://www.cnblogs.com/h ... -
深入剖析Java中的装箱和拆箱
2017-06-27 08:31 442转自 http://www.cnblogs.com/dolph ... -
Java JAR打包相关
2017-06-26 20:57 541JAVA jar打包时MANIFEST.MF格式约定 http ... -
Java反编译工具 - Java Decompiler
2017-06-21 20:14 419http://jd.benow.ca/ JD-GUI is ... -
javac,使用"-d ."与省略-d的区别
2017-06-20 20:27 751在当前工作目录下生成class文件,一般情况下有两种方法 ... -
JAVA环境变量配置
2017-06-19 13:56 309参考Link http://www.cnblogs.com/x ... -
Java高级应用之JNI
2017-06-19 09:00 544参考link http://www.cnblogs.com/l ... -
JDK工具appletviewer详解
2017-06-19 08:25 1048http://www.softown.cn/post/170. ... -
Java rt.jar 源码分析
2017-06-18 10:32 587jdk1.8.0_102 SRC +com +java ... -
应用 Command 模式进行流水号管理的最佳实践
2016-07-10 18:02 567转自 http://www.ibm.com/devel ...
相关推荐
完整版 Java高级教程 Java语言程序设计 第5章 Java反射(共9页).ppt 完整版 Java高级教程 Java语言程序设计 第6章 常用设计模式(共25页).ppt 完整版 Java高级教程 Java语言程序设计 第7章 Java注解(共10页).ppt...
2.反射,暴力反射,和静态做斗争,暴力反射,setAccessible 无论公有私有都可以用来访问 3.动态代理 在调用这个目标方法前,后,2头,异常处都可以动态的加上自己需要逻辑判断,而且根据反射来动态的替换实现类,大大提升了...
Java试题-3:反射和泛型的综合应用 Java反射 泛型都是比较高级的应用技术
包含近期学习的java高级应用: 自定义注解和相关使用、反射机制、字节码操作、动态编译、JVM类加载器
web 网络 泛型 反射 注解 枚举 java高级思维导图java高级思维导图
完整版 Java高级教程 Java语言程序设计 第5章 Java反射(共9页).ppt 完整版 Java高级教程 Java语言程序设计 第6章 常用设计模式(共25页).ppt 完整版 Java高级教程 Java语言程序设计 第7章 Java注解(共10页).ppt...
Java高级程序设计 第3章 Java反射机制 3.1 应用场景 3.2 相关知识3.3 实施过程 3.4 拓展知识3.5 拓展训练 3.6 课后小结3.7 课后习题 3.8 上机实训 Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第...
Java试题-5:应用反射创建对象,调用对象方法 反射为Java的高级技术应用
Java高级应用包含了Java的IO、泛型、反射等技术,Struts2为Web开发增添了更多的色彩,他为前台和后台数据交互提供了更多的方便
这些实例展示了Java高级编程技术在实际开发中的应用场景,帮助开发者提高代码的效率和质量。通过学习和理解更高级的Java编程技巧,我们能够更好地应对复杂的编程需求,提升软件开发的水平和竞争力。
这些实例展示了Java高级编程技术在实际开发中的应用场景,帮助开发者提高代码的效率和质量。通过学习和理解更高级的Java编程技巧,我们能够更好地应对复杂的编程需求,提升软件开发的水平和竞争力。
这些实例展示了Java高级编程技术在实际开发中的应用场景,帮助开发者提高代码的效率和质量。通过学习和理解更高级的Java编程技巧,我们能够更好地应对复杂的编程需求,提升软件开发的水平和竞争力。
1. 反射的用途 Uses of Reflection Reflection is commonly used by programs which require the ...如果能把这句警示时刻放在心里,那么反射机制就会成为一项强大的技术,可以让应用程序做一些几乎不可能做到的事情。
Java高级面试题:该资源包含了Java的高级面试题,包括并发编程、泛型与类型推断、反射、序列化等方面的问题。 答案解析:对于每个面试题,该资源都提供了详细的答案解析,帮助开发者更好地理解题目背后的知识点和...
JAVA高级特性 1.静态导入:先举个离例子 。 import java.lang.Integer.parseInt; public class StaticImport { int x = parseInt("123"); System.out.println(x); } 这样的程序如果不在IDE 工具中输入,是很难...
着力让读者在充分理解Java语言和Java类库的基础上,灵活应用Java提供的高级特性,具体包括面向对象程序设计、反射与代理、接口与内部类、异常处理、泛型程序设计、集合框架、事件监听器模型、图形用户界面设计和并发...
反射、 JDK核心类库API 、异常、集合、泛型
java高级应用,反射
Java是一种高级的面向对象的程序设计语言,它具有广泛的应用和强大的跨平台特性。Java语言于1995年由Sun公司推出,由Java之父詹姆斯高斯林设计。Java的设计目标是提供一种易学易用、功能强大的编程语言,使开发人员...
涉及多种线程,死锁,同步队列,异步线程,涵盖了java的自定义注解及反射,包含了23种设计模式,含注释, 线程1(基本应用) 线程2(同步,死锁,线程池) 注解和泛型 Java 注解(Annotation)又称 Java 标注,是 ...