fork download
  1. class A {
  2. public static int field = 99;
  3. }
  4. class B {
  5. public static A field = new A();
  6. }
  7. class C {
  8. public static B field = new B();
  9. }
  10.  
  11. public class Main
  12. {
  13. public static String foo(Class<?> clazz, String fieldName, int n)
  14. {
  15. for (int i = 0; i < n - 1; ++i)
  16. {
  17. clazz = clazz.getField(fieldName).get(null).getClass();
  18. }
  19.  
  20. return clazz.getField(fieldName).get(null).toString();
  21. }
  22.  
  23. public static void main(String[] args)
  24. {
  25. System.out.println(foo(C.class, "field", 1));
  26. System.out.println(foo(C.class, "field", 2));
  27. System.out.println(foo(C.class, "field", 3));
  28. }
  29. }
  30.  
Success #stdin #stdout 0.04s 4386816KB
stdin
Standard input is empty
stdout
B@135fbaa4
A@330bedb4
99