Accesibilidad de las variables y métodos miembros de una clase
Desde dentro de la propia clase:
1. Todos los miembros de una clase son directamente accesibles (sin cualificar con ningún nombre o cualificando con la referencia this) desde dentro de la propia clase. Los métodos no necesitan que las variables miembro sean pasadas como argumento.
2. Los miembros private de una clase sólo son accesibles para la propia clase.
3. Si el constructor de una clase es private, sólo un método static de la propia clase puede crear objetos.
Desde una sub-clase:
1. Las sub-clases heredan los miembros private de su super-clase, pero sólo pueden acceder a ellos a través de métodos public, protected o package de la super-clase.
Desde otras clases del package:
1. Desde una clase de un package se tiene acceso a todos los miembros que no sean private de las demás clases del package.
Desde otras clases fuera del package:
1. Los métodos y variables son accesibles si la clase es public y el miembro es public.
2. También son accesibles si la clase que accede es una sub-clase y el miembro es protected.
Fuente: Aprenda Java como si estuviera en primero de la Universidad de Navarra