Curso Java. Acercamiento a la API  Paquetes. Vídeo 13

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: java y javax, cada una conteniendo múltiples paquetes.

Ejemplos de Paquetes

  • Bajo la rama java, encontramos paquetes como java.awt y java.util, cada uno con sus respectivas clases.
  • De manera similar, bajo la rama javax, existen otros paquetes como javax.activity y javax.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 como Math, Stream y System. La organización es alfabética, facilitando la búsqueda.
  • Se menciona que dentro del paquete java.lang hay otro subpaquete llamado java.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 como round y sqrt.

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 src donde 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 Scanner del paquete java.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 directiva import.
  • 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 Stream pertenece al paquete java.lang, mientras que las clases Scanner y Locale pertenecen al paquete java.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 clase Locale. 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

Video description

Realizamos un primer acercamiento a la API de JAVA viendo qué son los paquetes y cómo se organizan las clases. Vemos la directiva import y cuándo se debe usar. Para más cursos, manuales y ejercicios visita: http://www.pildorasinformaticas.com