class Test { static class Object1 { } static class Object2 { static T o2() { return null; } } private static void method1(Object1 o) { System.out.println(o); } private static void method1(String o) { System.out.println(o); } static { method1(Object2.o2()); } }