class C { int f (int x) { .. } int f (String x) { .. } void g (boolean y) { .. } } class D extends C { int f (int x) { .. } void g (boolean y, String z) { .. } }