Confuso "anular un método privado"
Tengo dos preguntas sobre este código
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) ¿Cómo es la función f es visible en la referencia de Override po;
2) ¿Por qué la salida es "f () privada"