Introducción
Un modificador de acceso es un tipo especial de declaración de variable que controla cómo y dónde otro código puede usar la clase, variable o método declarado. Este artículo explicará qué son los modificadores de acceso y los tres diferentes niveles de visibilidad para clases, métodos y variables con algunos ejemplos prácticos.
Comprender el alcance del código es esencial para escribir programas manejables y legibles por humanos. Los modificadores de acceso son una forma de lograr esto. Le dicen a otros usuarios de su código cómo desea que interactúen con métodos o variables específicos. Si eres nuevo en la programación de Java, estos conceptos pueden parecer confusos al principio; sin embargo, una vez entendidos, se vuelven mucho más claros. Siga leyendo para obtener más información sobre los modificadores de acceso en Java.
Modificadores de acceso en Java
Los modificadores de acceso son palabras clave especiales que le permiten especificar cómo otro código puede interactuar con métodos o variables específicos dentro de las clases. Como muchos conceptos de programación, los modificadores de acceso son simples en la práctica pero pueden parecer confusos al principio. Una vez que los entienda, pueden ayudarlo a hacer que su código sea más legible y manejable.
Hay cuatro tipos diferentes de modificadores de acceso en Java:
- Privado: se puede acceder a un miembro privado dentro de la clase.
- Predeterminado: un miembro sin modificador de acceso también se conoce como paquete privado. Que solo es accesible dentro de las clases en el mismo paquete.
- Protegido: se puede acceder a un miembro protegido dentro de todas las clases del mismo paquete y subclases de otros paquetes.
- Público: un miembro público es accesible en todas partes.
Modificador de acceso privado
Se puede acceder a un miembro de acceso privado dentro de la clase declarada. Se producirá un error en tiempo de compilación cuando otra clase intente acceder a él.
Entendámoslo con un ejemplo: crea una clase llamada “ One
”, y declara una variable privada “ i
” con un valor por defecto. Ahora cree un método showData()
con acceso predeterminado en la misma clase que imprime el valor de la variable.
Ahora crea otra clase " Noviello
" con el método main()
. Cree un objeto de clase Uno e intente imprimir la variable "i". Dado que la variable "i" se declara privada, el compilador de Java emitirá un error. Comente la línea anterior y luego llame al método showData. Esto imprimirá correctamente el valor de "i" ya que el método también se declara en la misma clase:
class One{
private int i = 10;
void showData(){
System.out.println(i);
}
}
class Noviello{
public static void main(String args[]){
One obj = new One();
System.out.println(obj.i); //Compilation error
//Comment above line to test the next line code
obj.showData(); //Successfully run
}
}
Conclusión
La principal diferencia entre cada nivel de visibilidad es quién puede acceder: - público - todos, privado - solo la clase que contiene la variable/método, protected - la clase que contiene la variable/método y cualquier clase derivada de ella La visibilidad de la clase, el método o la variable determina si otros métodos o clases pueden interactuar con él y cómo. Esto se llama encapsulación y es una de las piedras angulares de la programación orientada a objetos. Y ahora que sabe qué son los modificadores de acceso y cómo funcionan, puede usarlos en su código para hacerlo más legible y manejable.