interface I { String foo(T x); Object foo(String x); } class C implements I { @Override public String foo(String x) { return ""; } }