public class JavaClass { public static class C extends B { public OutPair foo() { return super.foo(); } public In bar() { return super.bar(); } } public static String test() { A a = new C(); if (!a.foo().getX().equals("OK")) return "fail 1"; if (!a.foo().getY().equals(123)) return "fail 2"; if (!a.bar().make("123").equals("123")) return "fail 3"; return "OK"; } }