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"

Respuestas a la pregunta(3)

Su respuesta a la pregunta