abstract class A> { void bar(K x) { String s = foo(x).toLowerCase(); } abstract , S extends A> void foo(A x); abstract String foo(Object x); }