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); } }
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