Tipos de modificadores
Esta sección considera los tipos de modificadores en detalle, además, los subtipos de cada tipo también se describen.
Modificadores de acceso
Estos modificadores son responsables de definir la accesibilidad de las clases, constructores, método, etc. Para esto, los modificadores de acceso se dividen aún más en varios subtipos.
Por defecto: Este modificador de acceso predeterminado se asigna cuando no se usa otro modificador. Se puede acceder a los miembros de una clase predeterminada dentro del paquete donde reside la clase.
Público: Este es el modificador de acceso más utilizado y común. Los métodos o miembros de datos se declaran utilizando palabras clave públicas y se puede acceder desde cualquier lugar sin ninguna restricción.
Nota: La clase principal se puede crear utilizando las palabras clave predeterminadas o públicas. Sin embargo, los métodos/constructores/atributos se pueden crear como privado, protegido, predeterminado y público
Privado: Los miembros de los datos de la clase privada se declaran utilizando palabras clave privadas y son accesibles solo dentro de la clase principal. Además, cualquier otro método de cualquier otra clase no puede acceder a los miembros de la clase privada. Como la clase principal no puede declararse utilizando una palabra clave privada, por lo tanto, las clases o métodos anidados practican la palabra clave privada.
Protegido: Se puede acceder a los miembros de un paquete con un modificador de acceso protegido dentro del mismo paquete de la misma subclase.
Modificadores sin acceso
El JVM usa estos modificadores para averiguar cómo se comportan las clases. Se pueden usar los siguientes tipos de modificadores que no son de acceso:
Final: Los modificadores finales que no son de acceso se usan con las clases para restringir su herencia. La palabra clave final se usa con las clases para definir su comportamiento no heredado y JVM no permite que ninguna subclase extienda este tipo de clase. Del mismo modo, los métodos y variables también se pueden usar con los modificadores finales que no son de acceso para restringir su comportamiento.
Abstracto: Las clases abstractas solo son heredadas no instanciadas. El propósito principal de las clases abstractas es extenderlas para hacer uso de estas clases. Además, los métodos abstractos también son como las clases abstractas, se declaran en una superclase, pero se instancian en la subclase al momento de extender la subclase.
Nota: Las palabras clave finales y abstractas se pueden usar para definir la clase principal. Los métodos y atributos se pueden definir utilizando los modificadores sin acceso como estáticos, transitorios, sincronizados.
Conclusión
Los modificadores en Java pueden ser de acceso o tipo de acceso sin acceso. Los miembros de los datos y los métodos de una clase se hacen accesibles mediante modificadores de acceso. Mientras que los modificadores que no son de acceso notifican a JVM sobre el comportamiento de los miembros de los datos/métodos de una clase. Esta publicación informativa describe el acceso y los modificadores no accesorios junto con sus tipos/subtipos en Java. Después de pasar por esta publicación, habría aprendido a elegir los modificadores apropiados para los miembros de su clase en Java.