public class OverloadedMember3 { class C1 { void f(String s) { System.err.println(s); } } class C2 extends C1 { @Override void f(String s) { System.out.println(s); } void g() { f("A"); } } class C3 extends C2 { @Override void f(String s) { System.out.println(s); } } }