Java中的反射技术
来源:互联网 发布:怎么弄淘宝优惠券 编辑:程序博客网 时间:2024/06/05 16:34
直接上代码,有java基础的应该能看懂
2017年12月16日 21:03:33
package cn.reflect;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;import org.junit.Test;import cn.entity.Admin;/** * 反射技术 * @author 朱宏梁 * */public class reflect { @Test public void test() throws Exception{ String className = "cn.entity.Admin"; //获取字节码文件 Class<?> clazz = Class.forName(className); //创建对象 :通过默认的简化方法 //Admin a = (Admin) clazz.newInstance(); //Admin.Admin() //通过构造器 /*Constructor<?> constrs = clazz.getDeclaredConstructor(); constrs.newInstance(); //Admin.Admin()*/ Constructor<?> construs = clazz.getDeclaredConstructor(String.class); Admin a= (Admin) construs.newInstance("zhuhongliang"); //Admin.Admin()zhuhongliang } //获取方法 @Test public void testField() throws Exception{ String className = "cn.entity.Admin"; //获取字节码文件 Class<?> clazz = Class.forName(className); Admin a = (Admin) clazz.newInstance(); Field[] fields = clazz.getDeclaredFields(); for(Field fs : fields){ fs.setAccessible(true); //设置强制访问 String name = fs.getName(); Object value = fs.get(a); System.out.println(name+"="+value); } } //获取方法 @Test public void testMethod() throws Exception{ String className = "cn.entity.Admin"; //获取字节码文件 Class<?> clazz = Class.forName(className); Admin admin = (Admin) clazz.newInstance(); //获取方法getId Method m = clazz.getDeclaredMethod("getId"); Object value = m.invoke(admin); System.out.println(value); }}
阅读全文
0 0
- java中的反射技术
- Java中的反射技术
- java中的反射技术
- Java中的反射技术
- 黑马程序员 java中的反射技术理解
- Java中的反射与内省技术内幕
- java反射技术中的newInstance方法的使用
- 黑马程序员——java中的反射技术再探
- 黑马程序员——Java中的反射技术
- 黑马程序员——Java中的反射技术
- java反射技术
- java反射技术(2)
- Java的反射技术
- Java中反射技术
- 反射技术Java原理
- java反射技术
- java的反射技术
- java反射技术
- 图像处理: 五种 插值法
- 191. Number of 1 Bits
- python 操作数据库的一些经验
- Hbase列簇简单介绍
- HTML5 地理定位详解
- Java中的反射技术
- 【Android】onMeasure、onLayout以及onSizeChanged方法的回调时机和回调顺序
- 机房收费系统——组合查询 1.0
- 第七大周总结
- [mysql]允许mysql支持远程访问
- 【Python】自动生成命令行工具
- javA
- stdio库的一些流文件操作函数
- 字符串替换(语言入门)