Volver a la página principal
martes 21 enero 2025
2

Modificador de acceso *package-private* en Java

Cuando un miembro de clase (atributo, método o constructor) no tiene un modificador explícito como public, protected o private, Java asigna automáticamente el acceso package-private. Esto significa que:

  • La clase o sus miembros serán accesibles únicamente dentro del mismo paquete.
  • Otras clases fuera del paquete no podrán acceder a estos elementos, incluso si pertenecen al mismo proyecto.
  • Proporciona un nivel de encapsulación más restrictivo que public, pero más flexible que private.

Ventajas:

  • Facilita la modularización de código dentro de un paquete sin exponer detalles innecesarios.
  • Protege la implementación interna de la clase frente a otras partes del código fuera del paquete.
  • Mejora la cohesión del paquete al restringir el acceso a clases relacionadas.

Ejemplos de uso de package-private

// Clase sin modificador de acceso (por defecto package-private)
class MiClase {
    int atributo;  // Package-private por defecto
    void metodo() {
        System.out.println("Método accesible dentro del paquete");
    }
}
package paquete1;

class ClaseA {
    void mostrarMensaje() {
        System.out.println("Acceso package-private");
    }
}
package paquete2;

import paquete1.ClaseA;  // Error: ClaseA no es accesible fuera de su paquete

public class ClaseB {
    public static void main(String[] args) {
        // ClaseA obj = new ClaseA();  // Esto generaría un error de compilación
    }
}
Etiquetas:
java
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer