Ésta no es pregunta tonta, pero le da otro concepto de ocultar variable.
El campo en Java solo está oculto y no está anulado (esto no significa que obtendremos un error de tiempo de compilación al intentar esto, sino que no se anulan en su verdadero sentido). Reemplazar significa que el miembro debe invocarse en función del tipo de tiempo de ejecución del objeto y no según el tipo declarado. Pero el enlace para los campos en Java siempre es estático y, por lo tanto, se basa solo en el tipo declarado de referencia del objeto. Lea más sobre Enlace estático en el artículo - Enlace dinámico frente a enlace estático >>
En el caso de los métodos, solo se invalidan los métodos que se heredan y, por lo tanto, los métodos estáticos no se anulan sino que solo se ocultan y siguen únicamente la vinculación estática. los miembros privados (métodos o campos ambos) no están ocultos ni anulados. También siguen la vinculación estática y no se puede acceder directamente desde ninguna otra clase (incluidas las subclases) excepto la clase que las tiene. Recuerde, Hidden no significa que no podamos acceder a los miembros de la subclase. Por lo tanto, no confundas con ser no accesible (en el caso de miembros privados - campos o métodos) y estar oculto.
No tontas, pero se puede encontrar dentro de cinco segundos, tratando, por lo tanto, tit no tiene sentido preguntar aquí. Ahora, si tiene curiosidad sobre "¿Por qué se define el idioma de esa manera?", Esa es una cuestión diferente ... –