获取类的属性有getFields和getDeclaredFields两个方法,简要说下两者区别:getFields 可以获取当前类及父类的所有public 属性,protect和private无法获取

getDeclaredFields 可以获取到当前类所有的public、protect、private属性

所以,要实现此功能只能使用getDeclaredFields。

当前类取完了,再class.getSuperclass找到父类,完了再爷爷类……public void printAllMembers(Object obj){

Class cls = obj.getClass();

while (cls != null && cls != Object.class){

Field[] fields = cls.getDeclaredFields();

for (Field fd : fields) {

if (!fd.isAccessible()) {

fd.setAccessible(true);

}

try {

Log.d("bg", fd.getName() + ": " + fd.get(obj));

} catch (IllegalAccessException e) {

e.printStackTrace();

}

}

cls = cls.getSuperclass();

}

Log.d("bg", "=====the end=====");

}

由于private不允许直接访问,需要调下setAccessible,否则会报错Method threw 'java.lang.IllegalAccessException' exception.

java反射父类_Java反射获取对象全部属性,包括父类属性相关推荐

  1. java反射之Field用法(获取对象的字段名和属性值)

    一.概述 Field是一个类,位于java.lang.reflect包下.在Java反射中Field类描述的是类的属性信息,功能包括: 获取当前对象的成员变量的类型 对成员变量重新设值 二.如何获取F ...

  2. 【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】...

    方法1:通过get()方法获取属性值 package com.sxd.test.controller;public class FirstCa{private Integer num;private ...

  3. java反射类型转换_Java反射探索研究(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankakay 摘要:本文详细深入讲解是Java中反射的机制,并介绍了如何通过反射来生成对象.调用函数.取得 ...

  4. java 反射代价_Java反射机制

    # 反射 ## 什么是反射 反射是Java提供的动态执行机制, 可以动态加载类, 动态创建对象, 动态访问属性, 动态调用方法.. 静态执行: Java代码经过编译以后就确定的执行次序, 称为静态执行 ...

  5. 获取对象的接口信息(方法/属性/事件)(VB6代码)

    要不是WS的超级绿豆提起这东西,我还不知道呢.... 真是个好玩意!!能列出一个对象的接口,包括方法,属性,事件.....微软直接做了啊. 记录一下,以后要用到时免得忘了: Option Explic ...

  6. 父类指针指向子类对象的问题、父类对象和子类对象之间的问题

    一.父类指针指向子类对象 先上代码: class Base {public:void base_fun1() {}virtual void base_fun2() {cout << &qu ...

  7. java反射基础_Java反射基础(一)--Class对象获取

    ClassesJava中,任何一个对象要么是一个引用类型要么是基本数据类型.引用类型指的是那些直接或间接 Java.lang.Object的类.Classse,enum,和接口都是应用类型.基本类型是 ...

  8. java 反射 速度_Java 反射获取类方法速率和实现方式

    今天突然想到Java反射.然后测试了一下1.8.0_191版本的反射性能,没想到反射竟然比直接调用性能还高. 反射介绍 Java反射是指在程序运行状态中,能检查任意对象的内容并调用任意方法.对于任何一 ...

  9. java反射 枚举_Java反射应用之获取枚举类的枚举

    Java反射实际应用 实际工作中使用到的Java反射并不是很多,我接触到的基本上都是工具类中相对比较常用一些,本篇文章就是我实际工作中遇到的场景. 应用场景:一个审批流程第一个节点审批时,需要填写第二 ...

  10. java反射总结_java反射总结

    Class类的使用 1)在面向对象的世界里,万事万物皆对象 java语言中,静态的成员.普通数据类型不是对象 1.1 类是谁的对象呢?类是对象,类是java.lang.Class类的实例对象 1.2 ...

最新文章

  1. Android自定义绘制 绘制基础
  2. outlook express 邮件超过2G时的解决方法
  3. SQL Server改MySQL注意事项
  4. Windows Mobile获取SIM卡上的所有电话号码
  5. 梦幻模拟战更新服务器正在维护,梦幻模拟战魔之启示录更新维护公告
  6. javascript中对一个对象数组按照对象某个属性进行排序
  7. 面向对象(二)——三大特性(封装、继承、多态)
  8. 拓扑排序排课系统_视频结构化人脸布控系统
  9. 13.PHP核心技术与最佳实践 --- Hash 算法与数据库实现
  10. 论文:GeoGebra 在线数学应用函数演示
  11. 关于APP测试用例点
  12. php获取当前网址附带(http://或者https//)
  13. 有了它,Java语法也可以变得甜甜的
  14. 计算机截屏无法保存,win7电脑自带截图软件保存图片失败怎么办?
  15. L2-029 特立独行的幸福 (递归) 有代码详细解析
  16. 几招最有效的防辐射的方法
  17. 怎么修改Word每行文字间距
  18. 洛谷【T279725】搬砖
  19. Java学习第七项--类和对象
  20. ndk开发(二)JNI、java互调

热门文章

  1. MyEclipse使用总结——在MyEclipse中新建Maven框架的web项目[转]
  2. OSD仿真_MFC程序01
  3. 20200724每日一句
  4. Atitit 数据结构与常见文件元数据结构 目录 1. 分类 内部数据结构与外部存储数据结构 1 2. 编程语言内部数据结构 (堆栈 树 图等 1 2.1. 数据结构 (集合,列表,tree,map
  5. Atitit table的读取解析from html by jsoup java html paresr 目录 1. atitit.gui控件的定位与选择器 1 2. 读取表格流程 遍历表格ta
  6. Atitit webdav 原理详细 概念补充 2.WebDAV的优势: 一套自己定义的安全完善的身份验证机制。 穿墙 HTTPS传送数据 使用一个TCP连接传送所有文件 方便的客户端工
  7. Atitit 数据库事务实现原理
  8. atitit.人脸识别的应用场景and使用最佳实践 java .net php
  9. paip.提升效率---filter map reduce 的java 函数式编程实现
  10. paip.python错误解决 0x64024e96 指令引用的 0x00000135 内存。该内存不能为 read。