Me doy cuenta de que esta es una pregunta muy básica, pero es una que siempre me ha molestado. Según entiendo, si declaras un campo privado en Java, entonces no es visible fuera de esa clase. Si está protegido, está disponible para clases heredadas y cualquier cosa en el mismo paquete (corrígeme si cualquiera de esas definiciones es incorrecta).Niveles de acceso de los miembros de la clase java
¿Esto significa que no es posible declarar un campo que solo es accesible para las clases heredadas y no para otras clases no heredadas en el mismo paquete?
Aprecio que hay formas de evitar esto, pero ¿hay casos en los que desearía tener este tipo de comportamiento?
Obviamente, la pregunta anterior se aplica tanto a los métodos como a los campos.
Muchas gracias.
Solo un comentario sobre el vocabulario: de lo que estás hablando aquí es * accesibilidad * de variables (o visibilidad). El alcance de una variable es la parte del código donde se puede usar la variable (por ejemplo, el alcance de una variable local es el cuerpo del método o el bloque en el que está definido). –
Muchas gracias por eso Luc – chillysapien