Modificador de acceso predeterminado en Java
En este tutorial, hablaremos sobre el modificador de acceso predeterminado en Java. El nombre sugiere que el modificador de acceso se usa cuando no especificamos a nadie con la variable o una función.
Modificador de acceso predeterminado en Java
Hay cuatro tipos de modificadores de acceso en Java, private
, protected
, public
y default
. Para entender el modificador default
de acceso, necesitamos saber por qué lo necesitamos y los otros modificadores en diferentes condiciones.
El modificador acceso private
es el más estricto porque solo permite el acceso a la misma clase. Lo usamos cuando no sabemos que la variable o función class
no se usará en ningún otro lugar en el futuro además de la clase en la que estamos.
El modificador acceso protected
permite el acceso dentro de la clase o del mismo paquete, pero solo las subclases de los otros paquetes pueden tener acceso.
Se utiliza cuando queremos que esté disponible para todas las clases del paquete pero no queremos ningún otro acceso al paquete.
Como puedes adivinar, el modificador acceso public
permite el acceso global, lo que significa que podemos acceder a él desde cualquier lugar, incluso desde otros paquetes.
El modificador acceso default
entra en juego cuando no usamos ninguno de los anteriores. Su nivel de acceso está restringido al mismo paquete, y otros paquetes no pueden acceder a él ni siquiera creando subclases.
Veamos un ejemplo del modificador acceso default
y cómo funciona. Tenemos dos clases, ExampleClass1
y ExampleClass2
. La primera clase contiene una variable sin ningún modificador de acceso llamada randomString
.
Ahora en la clase ExampleClass2
, creamos una función y accedemos a la variable randomString
haciendo el objeto de ExampleClass1
. Podemos hacerlo, y no hay ningún error. Sucede porque ambas clases están en el mismo paquete.
Observe el nombre del paquete com.package
en la parte superior de las clases.
Usa el ExampleClass1
en Java
package com.tutorial;
public class ExampleClass1 {
String randomString = "This is a string from Example Class1";
public static void main(String[] args) {
String getReturnedString = new ExampleClass2().functionWithDefaultAccessModifier();
System.out.println(getReturnedString);
}
}
Usa el ExampleClass2
en Java
package com.tutorial;
public class ExampleClass2 {
String functionWithDefaultAccessModifier() {
return new ExampleClass1().randomString;
}
}
Producción :
This is a string from Example Class1
Se puede acceder a la randomString
desde otra clase en el mismo paquete en el escenario anterior.
Aún así, cuando intentamos acceder a la variable randomString
del ExampleClass1
que se encuentra en el paquete com.tutorial
desde una clase que se encuentra en otro paquete com.tutorial2
, el IDE
arroja un error diciendo que el randomString
no es público y no se puede acceder desde fuera de su paquete.
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn