interface A1 { String foo(); } interface B1 { Object foo(); } class C1 { void bar(T x) { String foo = x.foo(); } } class C2 { void bar(T x) { String foo = x.foo(); } }