在数字化转型中,选择合适的跨平台开发框架不仅能提高效率,还有助于确保数据安全与合规性。
881
2022-09-08
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 { } } }}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~