Paquetes en Java
Paquetes en Java
Paquetes en Java
Temario
Paquetes como módulos
La variable CLASSPATH
Incluyendo una clase en un paquete
Estructura de directorios
Clases públicas y no públicas
Acceso y uso de paquetes
La sentencia import
Archivos .JAR
2
Paquete
Un paquete (package) es una colección de clases e interfaces
relacionadas
Un paquete puede asociarse al concepto de módulo en software
Mecanismo de agrupación con dos propósitos principales:
◦ Evitar conflictos de nombres (un gran problema al desarrollar código
reusable)
◦ Control del nivel de acceso (encapsulación)
3
Principales Paquetes de Java
java.applet java.security
java.awt java.sql
java.beans java.text
java.io java.util
java.lang javax.naming
java.math javax.print
java.net javax.swing
java.rmi javax.xml
4
Jerarquía de Paquetes
Los nombres de paquetes son jerárquicos
◦ Ejemplo: java.awt.event
Las clases deben residir en un subdirectorio que
mapea el nombre del paquete
◦ Ejemplo: Una clase que pertenece al paquete
java.awt.event debe estar ubicada en el subdirectorio
java\awt\event
Los subdirectorios donde comienzan los paquetes
pueden estar ubicados en cualquier parte del
sistema de archivos
5
La variable classpath
La variable classpath es utilizada para indicar la raíz de los paquetes que se
usarán durante la compilación/ejecución
6
Clases en un Paquete
1. Para agregar una clase a un paquete se utiliza la
sentencia package como la primera sentencia del
archivo fuente (convención para el nombre del
paquete: dominio de la empresa invertido + sistema
+ subsistema + …)
package cl.sii.renta;
public class Empresa {
// implementación de la clase
}
7
Estructura de Directorios
La empresa Taranis tiene un paquete gráfico con la
clase Rectangle
8
Clases Públicas y No Públicas
package cl.sii.renta;
public class Empresa {
// implementación de la clase
}
9
Acceso a Paquetes
Una clase tiene acceso directo a:
◦ Clases que se encuentran en el paquete java.lang (ej: String)
◦ Otras clases del mismo paquete
10
Nombres Calificados
Ejemplo
class MiApp {
public static void main(String[] args) {
com.msoft.math.Matrice m;
m = new com.msoft.math.Matrice();
...
}
}
11
Sentencia import
Facilita la referencia a clases de un paquete
Permite que las clases de un paquete sean referenciadas solamente por el
nombre de la clase
Es posible importar:
◦ una clase específica de un paquete
import com.msoft.math.Matrice;
◦ todas las clases de un paquete
import com.msoft.math.*;
12
Sentencia import
Ejemplo
import com.msoft.math.*;
class MiApp {
public static void main(String[] args) {
Matrice m = new Matrice();
...
}
}
13
El Paquete Default
Una clase que no utiliza la sentencia package forma parte del "paquete
default", un paquete sin nombre
Es decir, todas las clases que no utilizan la sentencia package
pertenecen a un mismo paquete
14
Archivos JAR y ZIP
Es posible agregar archivos .JAR (formato similar a .ZIP)
y .ZIP a la variable CLASSPATH
SET CLASSPATH=
C:\java\classes;C:\j2ee14\lib\j2ee.jar
15
Resumen
Un paquete (package) es una colección de clases e
interfaces relacionadas
Los nombres de paquetes son jerárquicos
La variable de ambiente CLASSPATH es usada para
indicar donde buscar los paquetes
La sentencia package es usada para incluir una
clase en un paquete
La sentencia import hace más sencillo hacer
referencia a clases en un paquete
16