Saltar a contenido

Creación de paquetes

Los paquetes en Java (packages) son la forma en la que Java nos permite agrupar de alguna manera lógica los componentes de nuestra aplicación que estén relacionados entre sí.

Los paquetes permiten poner en su interior casi cualquier cosa como: clases, interfaces, archivos de texto, entre otros. De este modo, los paquetes en Java ayudan a darle una buena organización a la aplicación ya que permiten modularizar o categorizar las diferentes estructuras que componen nuestro software.

Para declarar un paquete en Java se hace uso de la palabra reservada package seguido de la "ruta" del paquete, como se muestra a continuación.

package ruta.del.paquete;

A tener en cuenta

  • La declaración del paquete debe estar al principio del archivo Java, es decir, es la primera línea que se debe ver en nuestro código o archivo .java. Primero se declara el paquete, y luego podremos poner los imports y luego las clases, interfaces, métodos, etc.
  • Cada punto en la ruta del paquete es una nueva carpeta. Cuando se escribe la ruta del paquete en Java, se pueden especificar una ruta compleja usando el punto ..
  • También hay varias buenas prácticas y recomendaciones para crear y declarar paquetes en Java. En general, los paquetes en java se declaran siempre en minúsculas y en caso de ser necesario las palabras se separan usando un guion bajo _.
  • Si decidimos no declarar un paquete para nuestra clase, ésta quedará en un paquete que se conoce como paquete por defecto (default package), en este paquete estarán todas las clases que no tengan un paquete declarado. Aunque esto no genera errores de compilación ni nada parecido, siempre es recomendable declarar un paquete a cada componente de nuestro programa Java para poder darle diferentes niveles de seguridad o acceso a dichos componentes y mantener todo ordenado.
  • Es común usar la primera letra en mayúscula cuando se declara una clase, pues bien, cuando se declaran paquetes es común que todas la letras estén en minúscula y en caso de ser varias palabras separarlas por un guion bajo _ por ejemplo "mi_paquete" es adecuado mientras que "MiPaquete" aunque no es incorrecto, no es una buena práctica.

Ejemplo

Nos basaremos en la siguiente estructura:

src/
├── com/
   ├── gestion/
      ├── Estudiante.java
      └── Profesor.java
   ├── util/
       └── Utilidades.java
└── Main.java

Código de cada clase:

package com.gestion;

public class Estudiante {
    private String nombre;

    public Estudiante(String nombre) {
        this.nombre = nombre;
    }

    public void mostrarNombre() {
        System.out.println("Estudiante: " + nombre);
    }
}
package com.gestion;

public class Profesor {
    private String nombre;

    public Profesor(String nombre) {
        this.nombre = nombre;
    }

    public void mostrarNombre() {
        System.out.println("Profesor: " + nombre);
    }
}
package com.util;

public class Utilidades {
    public static void imprimirSeparador() {
        System.out.println("---------------------");
    }
}

Y si ahora escribimos el main:

import com.gestion.Estudiante;
import com.gestion.Profesor;
import com.util.Utilidades;

public class Main {
    public static void main(String[] args) {
        Estudiante estudiante = new Estudiante("Ana");
        Profesor profesor = new Profesor("Sr. López");

        estudiante.mostrarNombre();
        Utilidades.imprimirSeparador();
        profesor.mostrarNombre();
    }
}