java反射回顾<三>
来源:互联网 发布:jy男装淘宝店网址 编辑:程序博客网 时间:2024/06/05 00:44
1.利用反射调用对象方法
Method method = demo.getMethod("say", String.class);method.invoke(demo.newInstance(), "名字");
运行结果
Hello 名字,my name is null-null
2.调用getter
Method method = demo.getMethod("get" + "Age");System.out.println(method.invoke(demo.newInstance()));
运行结果
0
3.调用setter
Method method = demo.getMethod("set" + "Age", Integer.class);Object obj = demo.newInstance();method.invoke(obj, 20);System.out.println(demo.getMethod("get" + "Age").invoke(obj));
运行结果
20
4.利用反射获取信息
int[] temp = {1, 2, 3, 4, 5, 6}; Class<?> demo = temp.getClass().getComponentType(); System.out.println("获取数组类型->" + demo.getName()); System.out.println("数组长度->" + Array.getLength(temp)); System.out.println("数组的第一个元素->" + Array.get(temp, 0)); Array.set(temp, 0, 100); System.out.println("修改后数组的第一个元素为->" + Array.get(temp, 0));
运行结果
获取数组类型->int数组长度->6数组的第一个元素->1修改后数组的第一个元素为->100
利用反射修改数组信息
String[] temp = {"str1", "str2", "str3", "str4", "str5", "str6"};Class<?> obj = temp.getClass().getComponentType();Object newArr=Array.newInstance(obj,20);System.arraycopy(temp,0,newArr,0,temp.length);for (int i = 0; i < Array.getLength(newArr); i++) { System.out.print(Array.get(newArr, i) + " ");}
运行结果
str1 str2 str3 str4 str5 str6 null null null null null null null null null null null null null null
阅读全文
0 0
- java反射回顾<三>
- java 反射回顾
- Java回顾之反射
- java反射回顾<一>
- java反射回顾<二>
- java反射回顾<四>
- java之反射(回顾)
- java零基础知识回顾(反射)
- java反射知识点简单回顾
- Java基础知识回顾--反射机制
- Java基础回顾(三)
- JAVA回顾(三)
- 19Java语法回顾之反射
- Java基础回顾 : 反射机制相关知识
- java基础知识回顾(三)
- java知识点回顾(三)
- java反射学习三
- java反射笔记三
- pug解析传的数据是undefinded
- C# ini文件读写 类
- ubuntu下一些软件的安装
- TabLayout
- Java语言程序设计(基础篇)(原书第10版) 练习题答案 第2章
- java反射回顾<三>
- 原生断点续传
- MySQL GROUP_CONCAT函数
- 隔行变色以及选中高亮/变色
- C# 接口
- JS获取控件绝对位置
- 安卓开发常用工具和第三方库汇总
- myeclipse使用tomcat时报错“An internal error occurred during: "Launching……”
- 单例模式的七种写法