Java tiene cuatro niveles de visibilidad: público, protegido, (por defecto), privados
- visible al paquete. el valor por defecto. No se necesitan modificadores.
- Visible solo para la clase (privado).
- Visible para el mundo (público).
- Visible para el paquete y todas las subclases (protegido).
modificador de acceso por defecto - Sin palabras clave: modificador de acceso
defecto significa que no declaramos explícitamente un acceso modificador para una clase, campo, etc. método
Una variable o método declarado sin ningún modificador de control de acceso es disponible para cualquier otra clase en el mismo paquete. El modificador predeterminado no se puede usar para métodos, campos en una interfaz.
modificador de acceso privado - privado:
métodos, variables y constructores que se declaró privada sólo se puede acceder dentro de la propia clase declarada.
El modificador de acceso privado es el nivel de acceso más restrictivo. La clase y las interfaces no pueden ser privadas.
Se puede acceder a las variables que se declaran privadas fuera de la clase si hay métodos públicos getter en la clase.
El uso del modificador privado es la principal forma en que un objeto encapsula y oculta los datos del mundo exterior.
modificador de acceso público - público:
Una clase, método, constructor, etc interfaz pública puede ser declarado se accede desde cualquier otra clase. Por lo tanto, se puede acceder a los campos, métodos, bloques declarados dentro de una clase pública desde cualquier clase perteneciente al Universo Java.
Sin embargo, si la clase pública a la que intentamos acceder se encuentra en un paquete diferente, entonces la clase pública todavía necesita ser importada.
Debido a la herencia de clases, todos los métodos y variables públicos de una clase son heredados por sus subclases.
modificador de acceso protegido - protegida:
Variables, métodos y constructores que se declaran protegidos en una superclase sólo se puede acceder por las subclases en otro paquete o cualquier clase dentro del paquete de la clase de miembros protegidos.
El modificador de acceso protegido no se puede aplicar a las interfaces de clase y . Los métodos, los campos pueden declararse protegidos, sin embargo, los métodos y los campos en una interfaz no se pueden declarar protegidos.
El acceso protegido le da a la subclase la posibilidad de usar el método auxiliar o variable, al tiempo que evita que una clase no relacionada intente utilizar .
No estoy seguro de entender la pregunta. Si desea que el método sea público, debe especificar público. Si desea que sea privado, debe especificar privado. Y si desea el valor predeterminado (es decir, visibilidad del paquete), no especifica nada. – sepp2k