Verwirrende "überschreiben eine private Methode"
Ich habe zwei Fragen zu diesem Code
public class Override {
private void f() {
System.out.println("private f()");
}
public static void main(String[] args) {
Override po = new Derived();
po.f();
}
}
class Derived extends Override {
public void f() {
System.out.println("public f()");
}
}
/*
* Output: private f()
*/// :~
1) Wie ist die Funktion f in der Referenz von Override po sichtbar?
2) Warum wird "private f ()" ausgegeben