Java反射---获取field信息跟构造函数信息
2016-04-04 21:24
561 查看
/*获取类的field信息*/ public static void printFieldMessage(Object obj) { Class c=obj.getClass(); /* * 成员变量也是对象 java.lang.reflect.field Field类封装了关于成员变量的操作 * getFields方法获取的是所有public成员变量的信息 getDeclaredFields获取的是该类自己声明的成员 */ Field[] fs = c.getDeclaredFields(); for (Field field : fs) { /* 得到成员变量的类类类型 */ Class fieldType = field.getType(); String typeName = fieldType.getName(); /* 得到成员变量的名称 */ String fieldName = field.getName(); System.out.println(fieldType + "," + fieldName); } }
/*打印对象的构造函数的信息*/ public static void printConMessage(Object obj){ Class c=obj.getClass(); /* * java.lang.constructors封装了构造函数的信息 * getConstructors()获取了所有的public的构造函数的信息 * getDeclaredConstructors:得到了自己声明的构造函数 * */ Constructor[] cs =c.getDeclaredConstructors(); for(Constructor con :cs ){ System.out.print(con.getName()+"("); //获取构造函数的参数列表----得到的是参数列表的类类型 Class[] paramTypes=con.getParameterTypes(); for(Class param:paramTypes){ System.out.print(param.getName()+","); } System.out.println(")"); } }
相关文章推荐
- Java synchronized的实现原理与应用
- 输出蛇形矩阵(java版)
- JDK8——使用lambda编程
- java线程(1)——三种创建线程的方式
- struts2笔记09-动态方法调用
- SpringAOP
- Step by Step into Spring (事务)
- Spring总结0402
- java动态获取jvm参数
- eclipse+adt+sdk+genymotion搭建android开发环境
- 设计模式之责任链模式
- java(系统)实战1
- 怎样改变Java se中字体大小颜色
- java毕向东听课笔记10(异常)
- 笔记:struts 2.3.20 + log4j1.2.9 jar包
- 如何解决struts2中上传文件大小限制的问题
- Spring记录之模拟IoC(二)
- Java中堆内存和栈内存详解
- IDEA 配置优化 提高开发效率
- java构造方法