反射机制获取Class属性

  • 获取属性 方法一: Class对象 . getFields();只能用来获取公开的属性,不能获取有私有的或者受保护的属性

  • 获取属性 方法二: Class对象 . getDeclaredFields() 获取该类中所有的属性包括私有属性和受保护的属性

  • field.getModifiers() 获取属性修饰符所代表的数字

  • Modifier.toString(modifymNumber); 将数字转换成修饰符名

  • field.getName() 属性对象.getName()获取属性名

  • field.getType()); 属性对象.getType()获取属性类型

  • 代码实例


package com.shige.Reflect; import java.lang.reflect.Field;
import java.lang.reflect.Modifier; /*
java.lang.reflect.Field 类中的属性 通过反射机制获取属性 */
public class ReflectTest04 {
public static void main(String[] args) throws ClassNotFoundException { //获取整个类
Class c=Class.forName("com.shige.Reflect.User"); //获取属性 方法一: Class对象.getFields();只能用来获取公开的属性,不能获取有私有的保护的
Field[] fields=c.getFields();
for (Field str:fields) {
System.out.println(str.getName()); //属性.getName()获取属性名
} System.out.println("=================================================="); // 获取属性 方法二: Class对象.getDeclaredFields() 获取该类中所有的属性
Field[] fields1=c.getDeclaredFields();
for (Field field:fields1) { //获取属性修饰符名
int modifymNumber=field.getModifiers(); //获取属性修饰符所代表的数字
String strModify= Modifier.toString(modifymNumber); //数字转换成修饰符名
System.out.println(strModify); //输出修饰符 //获取属性名
System.out.println(field.getName()); //属性对象.getName()获取属性名 //获取属性类型名
//将属性类型赋值给一个Class对象
Class type=field.getType();
System.out.println(type.getSimpleName()); //获取属性名字 方式一 System.out.println(field.getType()); //属性对象.getType()获取属性类型 方式二 }
}
}

最新文章

  1. geotrellis使用(六)Scala并发(并行)编程
  2. 【Android学习】android:layout_weight的用法实例
  3. 日志管理-Log4net
  4. angular+bootstrap+MVC 之三,分页控件初级版
  5. Python语言精要---下
  6. 第一篇TC界面设计
  7. alfresco 5.0 document
  8. freemarker声明变量
  9. A Byte of Python 笔记(7)数据结构:列表、元组、字典,序列
  10. http://mozilla.debian.net/
  11. BootstrapTable(附源码) Bootstrap结合BootstrapTable的使用,分为两种模试显示列表。
  12. json的那些事
  13. RecyclerView详解
  14. C#实现多态之接口。
  15. python多线程学习一
  16. day_6.26 反射
  17. ES6学习笔记<五> Module的操作——import、export、as
  18. JS----文档对象模型
  19. 【逆向工具】IDA Python安装与使用
  20. 非static成员函数通过类名::来调用,空指针调用成员方法不出错!

热门文章

  1. 工作之余第二篇(看源码自己实现ArrayList和LinkList)
  2. 手把手教你Spring Boot2.x整合kafka
  3. React开发入门:以开发Todo List为例
  4. docker apollo配置中心分布式部署
  5. mysql内一些可以报错注入的查询语句
  6. weblogic弱口令+后台getshell
  7. kubernetes生产实践之mysql
  8. 2019 GDUT Rating Contest III : Problem C. Team Tic Tac Toe
  9. 京东数科面试真题:常见的 IO 模型有哪些?Java 中的 BIO、NIO、AIO 有啥区别?
  10. python网络编程--TCP客户端的开发