Curso Java. Acercamiento a la API Paquetes. Vídeo 13
Introducción a la API de Java
¿Qué es la API de Java?
- La API de Java consiste en bibliotecas de clases predefinidas que se utilizan en el lenguaje de programación Java.
- Existen dos tipos de clases en Java: las predefinidas (que vienen con la API) y las clases propias que los programadores crean.
- Todo programa en Java debe contener al menos una clase, lo que resalta la importancia de entender cómo se organizan estas clases.
Organización de Clases en Java
- Las clases en Java están organizadas en "paquetes", similar a cómo se organizan archivos en carpetas dentro de un ordenador.
- Los paquetes permiten mantener un orden jerárquico y facilitan la búsqueda y gestión de las clases dentro del entorno de desarrollo.
Estructura Jerárquica de Paquetes
Visualización del Panel de Paquetes
- En la API, hay un panel que representa el orden jerárquico de los paquetes, donde cada paquete puede ser visto como una carpeta.
- La jerarquía principal se divide entre dos ramas:
javayjavax, cada una conteniendo múltiples paquetes.
Ejemplos de Paquetes
- Bajo la rama
java, encontramos paquetes comojava.awtyjava.util, cada uno con sus respectivas clases.
- De manera similar, bajo la rama
javax, existen otros paquetes comojavax.activityyjavax.annotation.
Nomenclatura y Estructura Interna
Cómo Nombrar Paquetes
- La nomenclatura para nombrar paquetes sigue un formato específico: por ejemplo, para el paquete
java.util, se utiliza "java" seguido del nombre del paquete.
- Si hay subpaquetes, estos también siguen esta estructura jerárquica utilizando puntos para separar los niveles.
Navegación por la API
- Al explorar el panel superior izquierdo en la API, todos los paquetes comienzan con "Java", indicando su origen común.
- A medida que se navega hacia abajo, se encuentran más paquetes hasta llegar a aquellos que descienden de la rama
javax.
Ejemplo Práctico: Jerarquía Representada
Representación Visual
¿Cómo se organizan las clases en la API de Java?
Estructura de paquetes en Java
- Se explora el paquete
java.lang, donde se pueden encontrar diversas clases. Al acceder a la API, se despliegan las clases que pertenecen a este paquete.
- Dentro del paquete
java.lang, se identifican varias clases comoMath,StreamySystem. La organización es alfabética, facilitando la búsqueda.
- Se menciona que dentro del paquete
java.langhay otro subpaquete llamadojava.lang.ref, que también contiene varias clases relevantes.
Importancia de organizar las clases por paquetes
- La organización por paquetes permite evitar conflictos de nombres entre diferentes archivos o clases. No puede haber dos archivos con el mismo nombre en un mismo paquete.
- Las razones para esta organización son: mejorar la gestión y localización de las clases, prevenir conflictos de nombres y facilitar el control sobre la visibilidad de las mismas.
Control de visibilidad y encapsulamiento
- Es importante organizar las clases en paquetes para evitar duplicados, especialmente cuando se comparten o distribuyen. Esto ayuda a mantener un código limpio y ordenado.
- El concepto de control de visibilidad está relacionado con el encapsulamiento en programación orientada a objetos, aunque este tema será abordado más adelante.
Paquetes principales y su uso
- En Java existe un paquete principal conocido como
java.lang, que puede ser utilizado sin necesidad de importaciones adicionales. Este incluye muchas clases fundamentales.
- Ejemplos comunes utilizados incluyen métodos como
substring(de la clase String), así como métodos matemáticos comoroundysqrt.
Uso de otras clases fuera del paquete principal
- Si se desea utilizar una clase que no pertenece al paquete principal (
java.lang), es necesario indicarlo explícitamente mediante importaciones adecuadas.
Introducción a Eclipse y Organización de Proyectos
Creación y Estructura de Proyectos en Eclipse
- Se cierra el último programa creado en el video anterior, recordando que se creó un proyecto llamado "primeros pasos" dentro de Eclipse.
- Dentro del proyecto, se observa una carpeta
srcdonde Eclipse ha construido un paquete por defecto, familiarizando al usuario con el icono marrón que representa paquetes en la interfaz.
- Al crear una nueva clase, se abre una ventana donde se puede nombrar la clase; en este caso, se crea una clase llamada "prueba", aunque se planea eliminar más tarde.
Advertencias sobre Paquetes
- Eclipse advierte que usar el paquete por defecto no es recomendable y muestra un mensaje de advertencia en amarillo si no se especifica un paquete para guardar la clase.
- Aunque todo funciona guardando directamente en
src, es mejor organizar las clases en paquetes para mantener un orden similar al sistema de archivos de Windows.
Uso de Clases Fuera del Paquete por Defecto
- Se menciona la creación de una variable objeto tipo
String, indicando que no hay problemas al usar clases del paquete por defecto (java.lang).
- Al intentar utilizar la clase
Scannerdel paquetejava.util, Eclipse genera errores porque esta clase no pertenece al paquete por defecto.
Importación de Clases Externas
- Para resolver los errores al usar clases externas como
Scanner, es necesario importar el paquete correspondiente utilizando la directivaimport.
- La instrucción debe colocarse antes de cualquier otra declaración, incluso antes del nombre de la clase. Por ejemplo:
import java.util.Scanner.
Opciones para Importar Clases
- Se puede importar todas las clases del paquete usando un asterisco (
*) o solo importar clases específicas para optimizar recursos.
¿Cómo importar clases en Java?
Importación de Clases y Paquetes
- La clase
Streampertenece al paquetejava.lang, mientras que las clasesScanneryLocalepertenecen al paquetejava.util. Se puede importar el paquete completo o solo clases específicas.
- Si se importa solo la clase
Scanner, no habrá error, pero sí lo habrá con la claseLocale. Esto muestra la diferencia entre importar un asterisco (todas las clases) y una clase específica.
- Aunque es posible importar solo las clases necesarias, puede resultar en más código del necesario. Para programas simples, es más eficiente usar el asterisco para evitar complicaciones.
Uso de Eclipse para Importar Clases
- Al eliminar la directiva de importación en Eclipse, el entorno señala los errores relacionados con las clases no importadas. Es esencial saber a qué paquete pertenecen estas clases para resolver los errores.
- Si no se recuerda el paquete de una clase como
Scanner, se puede buscar en la API de Java. En Eclipse, se pueden ver todas las clases ordenadas alfabéticamente para encontrar rápidamente la deseada.
- Al seleccionar una clase en la API, Eclipse muestra el paquete correspondiente (por ejemplo,
java.util). Esto ayuda a realizar importaciones correctas sin confusiones.
Organización Automática de Importaciones
- Eclipse ofrece una opción llamada "Organizar importaciones" que detecta automáticamente los paquetes necesarios para las clases utilizadas y agrega las directivas de importación correspondientes.
- Esta funcionalidad también está presente en otros entornos de desarrollo como NetBeans. Sin embargo, es importante entender cómo funciona esta característica ya que podría no estar disponible en todos los entornos.
Creación de Paquetes Propios