Modificador de acceso predeterminado en Java

Rupam Yadav 12 octubre 2023
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 Yadav avatar Rupam Yadav avatar

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