Cerramos del 11/08 al 15/08. Los pedidos cursados a partir del 08/08 a las 12.00 hora de España peninsular se tramitarán el 18/08/2025.
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros y videos
  2. Aprender Programación Orientada a Objetos con Java
  3. Introducción a la plataforma Java
Extrait - Aprender Programación Orientada a Objetos con Java con ejercicios prácticos y soluciones (2ª edición)
Extractos del libro
Aprender Programación Orientada a Objetos con Java con ejercicios prácticos y soluciones (2ª edición) Volver a la página de compra del libro

Introducción a la plataforma Java

Introducción

En el corazón de los ordenadores, los microprocesadores ejecutan las listas de instrucciones. Estas listas contienen códigos binarios que representan cálculos y acciones que se tienen que hacer sobre los registros, la memoria o incluso los periféricos. Salvo en casos excepcionales, cuando un desarrollador escribe un programa, no construye directamente esta lista de instrucciones también llamada código de bajo nivel o lenguaje ensamblador. Por fortuna para él, utiliza un lenguaje de programación para describir una sucesión de acciones de «alto nivel». Por ejemplo, si el programa necesita abrir el archivo config.txt, entonces el desarrollador utilizará la función fopen(«config.txt») de su lenguaje favorito para hacerlo. Después de esta línea, se ocultará toda una lista de instrucciones «de máquina» que el microprocesador ejecutará cuando la aplicación se ejecute. Por lo tanto, los lenguajes de alto nivel simplifican mucho la escritura, pero, al final, siempre son instrucciones de máquina las que se ejecutan.

El programa «fuente» -en nuestro ejemplo el que contiene fopen(«config.txt»)- es un archivo de texto que el desarrollador escribe con un editor de texto básico, como Notepad, Notepad++ o incluso el editor integrado en su entorno de desarrollo (IDE)...

Entorno de ejecución

Las aplicaciones escritas en Java no se comunican nunca directamente con el sistema operativo. Además, el resultado de una compilación Java (archivos con extensión .class) no es directamente ejecutable por el sistema operativo. Esta primera compilación, llamada Byte Code, contiene las instrucciones para la máquina virtual de Java, que va a «convertir sobre la marcha» el código intermedio en instrucciones compatibles con el entorno real de ejecución. Se habla de Just In Time Compiler (o JIT Compiler).

Cada entorno real de ejecución (Windows, Linux, macOS...) tiene su propia máquina virtual de Java, pero el Byte Code generado después de la compilación del programa fuente es el mismo y relativamente portable entre diferentes máquinas virtuales de Java. El adverbio «relativamente» se añade aquí para precisar que el diseño de un programa «portable» requiere algunas precauciones. Imaginemos que desea realizar un programa que deberá funcionar al mismo tiempo en el PC, la tableta y un teléfono. Es evidente que las características de estos tres dispositivos son totalmente diferentes y, por lo tanto, será necesario que el programa se adapte automáticamente al entorno de ejecución. Por ejemplo, podrá solicitar la resolución del dispositivo de visualización...

Una librería muy completa

La plataforma Java ofrece una amplia colección de clases sobre las que se basan las aplicaciones. Se habla de API Java. Estas clases simplifican considerablemente la gestión de los objetos habituales (cadenas de caracteres, valores decimales, colecciones, etc.), así como la gestión de archivos, las interfaces gráficas clásicas, los API web, el acceso a las bases de datos, las comunicaciones de red, la seguridad, los diagnósticos, etc. La lista de las clases es muy amplia y, aunque se ofrezcan de manera jerárquica, el problema normalmente es saber identificarlas.

La mayor parte de las veces, estas clases son extensibles. Esto quiere decir que es posible extenderlas para mejorar su comportamiento básico y, a continuación, añadir los aspectos específicos del negocio.

Para organizar estas clases, Java utiliza el concepto de paquetes, que agrupan las clases por objetivos (servicios de la misma naturaleza). Por ejemplo, el paquete java.io contiene una «caja de herramientas» para administrar los archivos.

Naturalmente, es posible crear sus propios paquetes. El paquete Java se corresponde con el paquete del UML. El desacoplamiento realizado intenta reducir las dependencias entre los paquetes. Para que un programa pueda utilizar un paquete, este último se debe referenciar en el proyecto y su utilización se debe declarar en la parte superior...

Las herramientas de desarrollo con buen rendimiento

La plataforma Java ofrece un compilador (javac.exe), que se puede utilizar directamente en línea de comandos, después de haber introducido el código del programa en un editor de texto. Por supuesto, el procedimiento es posible pero no muy productivo. Evidentemente, el desarrollador persigue la utilización de un entorno de desarrollo totalmente integrado, que le ayude durante la redacción del código, la realización de la interfaz gráfica, la puesta a punto y el despliegue de su aplicación. Este programa se denomina IDE (Integrated Development Environment) o Entorno de Desarrollo Integrado. Como mínimo, integra un editor de código fuente, las herramientas que automatizan las compilaciones y un depurador.

Existen varios IDE para Java. Entre ellos hay tres principales: IntelliJ IDEA, de JetBrains; Eclipse, de la fundación Eclipse, y NetBeans, creado por iniciativa de Sun Microsystems y actualmente mantenido y distribuido por Oracle y por Apache Software Foundation para su versión Apache NetBeans. Las demostraciones y ejercicios de este libro se basan en la utilización de IntelliJ IDEA porque es el IDE que nos ha parecido más sencillo para empezar a desarrollar.

Descarga e instalación de JDK

 Para desarrollar en Java necesitaremos un «kit de desarrollo» llamado JDK al que volveremos muy pronto. Por ahora, vaya al sitio web de Oracle en https://www.oracle.com/java/technologies/downloads/#jdk22-windows para descargar la versión de JDK 23 con su instalador.

Esta versión 23 puede que no sea la última cuando lea estas líneas.

images/cap3_pag6.png

 Ejecute el programa descargado: jdk-23_windows-x64_bin.exe conservando todas las opciones por defeto, propuestas en los diferentes cuadros de diálogo.

Descarga e instalación de IntelliJ IDEA

 Vaya ahora al sitio web oficial JETBRAINS (https://www.jetbrains.com/idea/download/?section=windows) para descargar la versión Community Edition de este IDE.

 Avance por la pantalla hasta mostrar los siguiente:

images/03RI01V4.png

 Haga clic en el botón Download.

images/03RI05V4.png

 Cuando haya terminado la descarga, haga doble clic en el archivo descargado (ideaIC-2024.1.3.exe en el momento en el que se escriben estas líneas).

 Permita a la aplicación que añada modificaciones.

images/03RI06V4.png

 Pulse en el botón Next.

images/03RI07V4.png

 Conserve los valores propuestos por defecto y pulse el botón Next.

images/03RI08V4.png

 Conserve los valores propuestos por defecto y pulse el botón Next.

images/03RI09V4.png

 Conserve los valores propuestos por defecto y pulse el botón Install.

images/03RI10V4.png

Es posible que, como resultado de la instalación, se le pida reiniciar su ordenador.

Si no, la instalación termina de la siguiente manera:

images/03RI11V4.png

El inevitable Hello World

Incluso si el aprendizaje de IntelliJ IDEA se hace al mismo tiempo que la POO con Java, no nos resistimos más a redactar nuestro primer programa: el clásico Hello world!

 Ejecute IntelliJ IDEA desde el menú Inicio - JetBrains - IntelliJ IDEA Community Edition 2024.1.3.

images/cap3_pag18.png
images/03RI39V4.png
images/03RI40V4.png

 Lea y confirme los términos de uso y después pulse en Continue.

images/03RI15V4.png

Se carga la pantalla de IntelliJ IDEA

 Haga clic en la opción New Project.

Esta acción ejecuta el asistente de creación de aplicaciones, que va a comprobar si están todas las herramientas necesarias y va a preparar el esqueleto de nuestra futura aplicación.

 Llame al proyecto «helloworld«, guarde el directorio (Location) por defecto y seleccione la opción 22 en la combo box JDK. Para terminar, haga clic en el botón Create.

images/03RI16V4.png

La interfaz de usuario de la herramienta está compuesta por dos partes: a la izquierda el Explorador de proyectos y su único proyecto, helloWorld:

images/03RI17V4.png

En la parte derecha, el contenido del archivo fuente único de nuestra solución: Main.java ya contiene algunas líneas de código creadas automáticamente por el IDE.

images/03RI18V4.png

La extensión .java se utiliza para los archivos de texto que contienen el código de la aplicación.

 Elimine el contenido de Main.java para sustituirlo por:

images/03RI19V4.png

Sin duda, habrá observado que, durante la redacción...

Una puntualización sobre los acrónimos

Hagamos una pequeña puntualización sobre los acrónimos más utilizados en el mundo Java.

Hemos utilizado el JDK 22. JDK significa Java Development Kit y es un SDK (Software Development Kit) espécífico de Java, que incluye herramientas como el compilador, el depurador y también el JRE.

Hemos utilizado, sin saberlo, este JRE, que es el acrónimo de Java Runtime Environment. El JRE nos ha permitido mostrar este triunfal «Hello World». En nuestro caso, el JRE venía incluido en el JDK, aunque también puede descargarse e instalarse por separado.

Java es un potente lenguaje de programación que permite crear aplicaciones para diferentes tipos de plataformas de ejecución: las pequeñas máquinas sin mucha potencia, las máquinas de escritorio y, para terminar, las máquinas que actúan como servidores con muchos recursos. A cada uno de estos tipos le corresponde una especificación de lo que debe ofrecer la plataforma Java. Estas especificaciones son, respectivamente, JME (Java Micro Edition), JSE (Java Standard Edition) y JEE (Java Enterprise Edition). Para el desarrollo, utilizamos las implementaciones de estas especificaciones por parte de editores como Oracle. Por ejemplo, el JDK 22 que hemos utilizado se corresponde con la implementación de las especificaciones del JSE por Oracle.

Para...