Android,子类访问父类私有成员
来源:互联网 发布:欧陆风云4 知乎 编辑:程序博客网 时间:2024/04/30 03:19
出于一个应用需要,要访问父类的私有成员,研究了一下,这么实现:
public static Object get(Object instance, String variableName){ Class targetClass = instance.getClass().getSuperclass(); // YourSuperClass 替换为实际的父类名字 YourSuperClass superInst = (YourSuperClass)targetClass.cast(instance); Field field; try { field = targetClass.getDeclaredField(variableName); //修改访问限制 field.setAccessible(true); // superInst 为 null 可以获取静态成员 // 非 null 访问实例成员 return field.get(superInst); } catch (Exception e) { e.printStackTrace(); return null; }}
把上面的 get() 方法放到子类中,使用也很简单,传入 this 指针,传入成员变量的名字。比如:
get(this, "mPrivateMember");
Java 的反射机制果然强大,用 C++ 就很难做到这点。
0 0
- Android,子类访问父类私有成员
- 子类无权访问父类的私有数据成员
- 子类能否继承、访问父类的私有成员
- 子类继承父类的私有成员
- 子类用反射可以访问父类中的私有成员变量及方法
- 访问私有类成员
- 子类能不能继承父类的私有成员
- java中子类能不能继承父类的私有成员
- C++子类访问父类protected成员
- C++从子类访问父类的私有函数
- C++从子类访问父类的私有函数
- 从子类访问父类的私有函数
- C++:从子类访问父类的私有函数
- 关于Java子类访问父类的私有变量
- JAVA在子类中访问父类的私有属性
- 类是私有成员访问
- 访问类的私有成员
- 访问类的私有成员
- SimpleAudioEngine中stopBackgroundMusic和pauseBackgroundMusic的区别
- jQuery 之 $(this) 出了什么问题?
- C++ - 同步读写文本 代码(C++)
- 黑帽子和白帽子(面试智力题)
- 14.1-动物这样叫(3)
- Android,子类访问父类私有成员
- 图像显示的 flickering
- 快·乐播放器开发
- 陈进财心得2
- iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件)
- DP动态规划与记忆化搜索的联系与区别
- 字符串的组合
- Java基础学习笔记及心得——数据库系列之二,java连接数据库
- Appium 做Android 自动化测试环境搭建+示例代码运行