一个Java反射机制例子
來源:http://blog.csdn.net/loyoveui/archive/2007/06/22/1662154.aspx
package test;
import java.lang.reflect.Method;
public class InvokeTest {
/**
*
* main 方法
* @param args
* void
*/
public static void main(String[] args) {
try {
InvokeTest invokeTest = new InvokeTest();
//1.第一步获取方法的映射
//String[] realArgs = {"",""};//定义一个与execute方法第1个参数对应的String数组(注意此数组只为获取方法的映射)
//Integer in = new Integer(0);//定义一个与execute方法第2个参数对应的Integer对象
//Class[] c_args = new Class[2];
//c_args[0] = realArgs.getClass();//分别获取以上两个参数的class
//c_args[1] = in.getClass();
//Method method = invokeTest.getClass().getMethod("execute", c_args);//返回值为test方法的映射(类型Method)
/**
* 注意,以上几句(11-16行)可以写成下面一句
* 目的是获取execute方法的映射,第一个参数是方法,第二个参数是execute方法所需要的参数列表,类型是class
* 所以当execute方法没有参数时,getMethod第二个参数为null即可
*/
Method method = invokeTest.getClass().getMethod("execute",
new Class[] { String[].class, Integer.class });
//2.第二步调用方法
//String[] a1={"zhong","cheng"};//这里的数组用于做真正调用时的参数
//Integer a2=new Integer(5);//同上
//Object[] allArgs = new Object[2];
//allArgs[0] = a1;
//allArgs[1] = a2;
//Object[] result = (Object[])method.invoke(invokeTest, allArgs);//调用execute方法并获取返回值
/**
* 注意,以上几句(21-26行)可以写成下面一句
* 目的是调用实例invokeTest的execute方法,参数(包含一个String数组和一个Integer对象)类型是Object
* invoke()方法的第一个参数表示被调用的方法所属类的实例,所以如果execute是静态方法,
* invoke的第一个参数可以为空
*/
Object[] result = (Object[])method.invoke(invokeTest, new Object[] {
new String[] { "zhong", "cheng" }, new Integer(5) });
//打印出返回值
for(int i=0;i<result.length;i++){
System.out.print(result[i]);
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*
* 用于测试的execute方法,此处只是将String[]和Integer的值打印出来
* 并返回一个提示性的字符串数组
* @param String[] str
* @param Integer intN
* String[]
*/
public String[] execute(String[] str, Integer intN) {
for (int j = 0; j < str.length; j++) {
System.out.println(str[j]);
}
System.out.println(intN.intValue());
return new String[]{"display ","have ","bean ","finished "," !"};
}
}
一个Java反射机制例子相关推荐
- 一个例子让你了解Java反射机制
本文来自:blog.csdn.net/ljphhj JAVA反射机制: 通俗地说,反射机制就是可以把一个类,类的成员(函数,属性),当成一个对象来操作,希望读者能理解,也就是说,类,类的成员,我们在运 ...
- (转)个例子让你了解Java反射机制
个例子让你了解Java反射机制 原文地址:http://blog.csdn.net/ljphhj/article/details/12858767 JAVA反射机制: 通俗地说,反射机制就是可以把 ...
- Java反射机制demo(四)—获取一个类的父类和实现的接口
2019独角兽企业重金招聘Python工程师标准>>> Java反射机制demo(四)-获取一个类的父类和实现的接口 1,Java反射机制得到一个类的父类 使用Class类中的get ...
- 反射 字段_详解面试中常考的 Java 反射机制
反射(Reflection) 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说"自审",并能直接操作程序的内部属性和方法. 反射是一项高级 ...
- java基础-java反射机制
2019独角兽企业重金招聘Python工程师标准>>> 引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓"登高必自卑,涉远必自迩" ...
- 利用java反射机制进行对象操作
我们经常使用COMMONS-BEANUTILS包来进行bean的操作,例如从map到bean获从bean到map的映射,那么实现的原理是什么呢,下面举个简单的操作的例子:首先,我建立一个bean pu ...
- java继承 映射_hibernate继承关系映射和java反射机制的运用
转:http://blog.csdn.net/derpvailzhangfan/article/details/1957946 ,感谢博主分享 Notes:hibernate元数据的运用:uuid的概 ...
- java初反射_初始 java 反射机制 (一)
反射机制详解 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为j ...
- 工作中用到的java反射机制_(转)JAVA-反射机制的使用
Java反射机制的实现原理 反射机制:所谓的反射机制就是java语言在运行时拥有一项自观的能力.通过这种能力可以彻底的了解自身的情况为下一步的动作做准备.下面具体介绍一下java的反射机制.这里你将颠 ...
最新文章
- ELK6.0已取消filebeat配置document_type
- JavaScript函数大全
- 使用SharePoint 2007 Web Service上传文件到文档库
- PC SERVER 序列号查询
- Eclipse plugin folder
- 某法院HP-P4500存储数据恢复案例
- NORDIC 52832开发2之串口空闲时间过长
- 微软发布 OpenJDK 预览版!
- 整合重组叠加市场扩容 “广电云”发展将提速
- k8s资源对象及API群组
- 2021.10.13 向日葵黑屏驱动卸载方法
- atmega 128 单片机 开发 例子 例程 教程 ADC PWM 呼吸灯
- 2022年最新BIM计费标准,涉及14省市
- html怎么给表头加斜线,如何为Excel中的表格表头添加斜线和文字?这才是正确的添加方式-excel表格斜线...
- 打工人也不好惹!一份校招“恶霸”指南强势冲上GitHub热榜,一天暴涨 1000 星!
- 【超好懂的比赛题解】第四届SCPC中南民族大学程序设计竞赛(同步赛)
- 【LearningChain】WhenMachineLearningMeetsBlockchainADecentralizedPrivacy-preserving and SecureDesign
- 计算机视觉领域常见期刊和会议
- java jsp聊天系统_java web实现简单聊天室
- 2020 年度开发者工具 Top 100 名单!
热门文章
- 第一章 计算机、程序和Java概述 复习题 解答
- 使用dynDNS+openSSH+putty突破公司防火墙
- C# 捕获系统闪退BUG
- MFC中STL容器中Vector,List,Map基本用法汇总
- 怎么让datagridview中的某一行不可编辑
- Retrofit网络请求参数注解,@Path、@Query、@Post、Body等总结(超级实用)以及以Json格式和form-data格式提交数据
- 频偏纠正matlab实现,Matlab关于OFDM同步定时估计和频偏估计的算法
- python写一个app接收摄像头传输的视频_使用Python的Flask框架实现视频的流媒体传输...
- 服务器设备日常维护与管理论文,浅谈设备管理与维护论文
- 几个 PHP 的“魔术常量”