Saltar la navegación

6.3.- Jerarquía de paquetes.

Fondo de imagen en color azul y verde sobre el que se distingue el mensaje “Hello”.
odd.note (CC BY)

Para organizar mejor las cosas, un paquete, en vez de clases, también puede contener otros paquetes. Es decir, podemos hacer subpaquetes de los paquetes y subpaquetes de los subpaquetes y así sucesivamente. Esto permite agrupar paquetes relacionados en un paquete más grande. Por ejemplo, si quiero dividir mis clases de ejemplos en ejemplos básicos y ejemplos avanzados, puedo poner más niveles de paquetes separando por puntos:

package ejemplos.basicos;

package ejemplos.avanzados;

A nivel de sistema operativo, tendríamos que crear los subdirectorios basicos y avanzados dentro del directorio ejemplos, y meter ahí las clases que correspondan.

Para compilar, en el directorio del proyecto habría que compilar poniendo todo el path hasta llegar a la clase. Es decir, el nombre de la clase va con todos los paquetes separados por puntos, por ejemplo ejemplos.basicos.Bienvenida.

La estructura de directorios en el sistema operativo cuando usamos subpaquetes sería:

/<directorio_usuario>/Proyecto_Bienvenida/ejemplos/basicos/HolaMundo.java

Y la compilación y ejecución sería:

$ cd /<directorio_usuario>/Proyecto_Bienvenida

$ javac ejemplos/basicos/Bienvenida.java

$ java ejemplos/basicos/Bienvenida

Hola Mundo
Se muestra un terminal de Ubuntu donde se describen los pasos para compilar y ejecutar un proyecto con varios paquetes: 1.- Situarnos en el directorio del proyecto, 2.- Compilar la clase Bienvenida.java, 3.- Comprobar que se ha creado el .class, 4.- Ejecutamos el proyecto, 5.- Resultado de la ejecución.
Mª Flor Moncada Añón (Elaboración propia) (GNU/GPL)

La Biblioteca de Clases de Java se organiza haciendo uso de esta jerarquía de paquetes. Así por ejemplo, si quiero acceder a la clase Date, tendré que importarla indicando su ruta completa, o sea, java.util.Date. Este tipo de instrucciones son añadidas de forma automática cuando utilizamos un IDE.

import java.util.Date;

Citas para pensar

Tan bueno como es heredar una biblioteca, es mejor coleccionar una.Augustine Birrel.