001一个内部类的实例拿到所在外部类的实例(反射)
时间:2021-08-12
本文章向大家介绍001一个内部类的实例拿到所在外部类的实例(反射),主要包括001一个内部类的实例拿到所在外部类的实例(反射)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
代码实现:给一个内部类对象,如何通过反射,去获取所依靠的外部类对象的某个成员变量并打印出来。
public class A { int age=10; class B { } }
public class Main { public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException { A a=new A(); A.B b=a.new B(); Class bClass=b.getClass(); Field field=bClass.getDeclaredField("this$0"); A outClass=(A)field.get(b);//get(Object obj) 返回指定对象obj上此 Field 表示的字段的值 Field age=outClass.getClass().getDeclaredField("age"); System.out.println(outClass); } }
知识点扩展: this$0就是内部类所自动保留的一个指向所在外部类的引用。
public class Outer {//this$0 public class FirstInner {//this$1 public class SecondInner {//this$2 public class ThirdInner { } } } }
原文地址:https://www.cnblogs.com/LLL0617/p/15134989.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux通过匿名管道进行进程间通信
- shell判断一个变量是否为空方法总结
- 基于ubuntu16 Python3 tensorflow(TensorFlow环境搭建)
- Linux中的iostat命令使用教程
- 深入解读Linux进程函数fork(),vfork(),execX()
- Linux centos下设置定时备份任务的方法步骤
- Linux 中如何切换相同程序的不同版本
- Linux中查看指定文件夹内各个子文件夹内的文件数量
- Linux系统中 /etc/fstab 文件的深入解读
- bash命令使用详解
- 实例详解Linux 中的命令链接操作符
- Python 为什么不支持 switch 语句?
- centos安装jdk1.8时出现没有/lib/ld-linux.so.2:这个文件的原因分析
- Linux多线程编程快速入门
- Linux添加swap分区的方法