abstract class B { abstract void foo(T x, S y); } class A extends B { void foo(String x, String y) {} }