
Java 9
Autor/a : Herbert Schildt
El diseño de Java, su robustez, el respaldo de la industria y su fácil portabilidad han hecho de Java uno de los lenguajes con un mayor crecimiento y amplitud de uso en distintas áreas de la industria de la informática.
Índice
Agradecimientos Sobre el autor Sobre el editor técnico Introducción La evolución de Java Java SE 9 Organización del libro Convenciones No se necesita experiencia de programación Requisitos de software Código fuente 1. Conceptos de Java Los orígenes de Java Cómo Java afectó a Internet La magia de Java: el código de bytes Vida después de los applets Términos principales de Java Programación orientada a objetos Obtener el kit de desarrollo de Java El primer programa Solucionar errores sintácticos Otro sencillo programa Otro tipo de datos Dos instrucciones de control Crear bloques de código Puntos y coma y ubicación Técnicas de sangrado Palabras clave de Java Identificadores en Java Las bibliotecas de clases de Java Evaluación de conocimientos 2. Tipos de datos y operadores Importancia de los tipos de datos Tipos primitivos de Java El tipo boolean Literales Variables Ámbito y duración de variables Operadores Operadores aritméticos Operadores relacionales y lógicos Operadores lógicos de cortocircuito El operador de asignación Asignaciones abreviadas Conversión de tipos en asignaciones Convertir tipos incompatibles Precedencia de operadores Expresiones Evaluación de conocimientos 3. Instrucciones de control Introducir caracteres desde el teclado La instrucción if Instrucciones if anidadas La cadena if-else-if La instrucción switch Instrucciones switch anidadas El bucle for Variantes del bucle for Componentes vacíos Bucles sin cuerpo Declarar variables de control de bucle dentro del bucle for El bucle for mejorado El bucle while El bucle do-while Utilizar break para salir de un bucle Usar break como goto Utilizar continue Bucles anidados Evaluación de conocimientos 4. Clases, objetos y métodos Clases: aspectos esenciales Crear objetos Variables de referencia y asignación Métodos Añadir un método a la clase Vehicle Devolver valores desde un método Devolver un valor Utilizar parámetros Añadir un método con parámetros a Vehicle Constructores Constructores con parámetros Añadir un constructor a la clase Vehicle Revisión del operador new Recolección de basura y uso de finalizadores El método finalize() La palabra clave this Evaluación de conocimientos 5. Otros tipos de datos y operadores Matrices Matrices multidimensionales Matrices irregulares Sintaxis alternativa para declarar matrices Asignar referencias de matriz Usar el miembro length El bucle for de estilo for-each Cadenas Utilizar argumentos de línea de comandos Los operadores de orden de bits El operador ? Evaluación de conocimientos 6. Análisis detallado de métodos y clases Controlar el acceso a los miembros de una clase Pasar objetos a métodos Devolver objetos Sobrecargar métodos Sobrecargar constructores Recursión Comprender static Clases anidadas e internas Argumentos de longitud variable: varargs Evaluación de conocimientos 7. Herencia Aspectos básicos de la herencia Acceso a miembros y herencia Constructores y herencia Utilizar super para invocar constructores de superclase Utilizar super para acceder a miembros de una superclase Crear una jerarquía multinivel Cuándo se ejecutan los constructores Referencias de superclase y objetos de subclase Reemplazar métodos Los métodos reemplazados admiten polimorfismo Por qué reemplazar métodos Utilizar clases abstractas Utilizar final La clase Object Evaluación de conocimientos 8. Paquetes e interfaces Paquetes Paquetes y acceso a miembros Miembros protegidos Importar paquetes La biblioteca de clases de Java se incluye en paquetes Interfaces Implementar interfaces Utilizar referencias de interfaz Variables en interfaces Ampliar interfaces Métodos de interfaz predeterminados Usar métodos estáticos en una interfaz Métodos private de interfaz Consideraciones finales sobre paquetes e interfaces Evaluación de conocimientos 9. Controlar excepciones La jerarquía de excepciones Fundamentos del control de excepciones Consecuencias de una excepción sin capturar Utilizar varias instrucciones catch Capturar excepciones de subclases Anidar bloques try Generar una excepción Análisis de Throwable Utilizar finally Utilizar throws Tres nuevas funciones de excepciones Excepciones integradas de Java Crear subclases de excepción Evaluación de conocimientos 10. Utilizar E/S E/S de Java se basa en flujos Flujos de bytes y de caracteres Clases de flujo de bytes Clases de flujo de caracteres Flujos predefinidos Utilizar los flujos de bytes Leer y escribir archivos con flujos de bytes Cerrar automáticamente un archivo Leer y escribir datos binarios Archivos de acceso aleatorio Utilizar los flujos basados en caracteres de Java E/S de archivos con flujos de caracteres Utilizar envoltorios de tipos de Java para convertir cadenas numéricas Evaluación de conocimientos 11. Programación de subprocesamiento múltiple Aspectos básicos del subprocesamiento múltiple La clase Thread y la interfaz Runnable Crear un subproceso Crear varios subprocesos Determinar el final de un subproceso Prioridades de subprocesos Sincronización Utilizar métodos sincronizados La instrucción synchronized Comunicar subprocesos con notify(), wait() y notifyAll() Suspender, reanudar y detener subprocesos Evaluación de conocimientos 12. Enumeraciones, autoboxing, importación estática y anotaciones Enumeraciones Las enumeraciones de Java son tipos de clases Los métodos values() y valueOf() Constructores, métodos, variables de instancia y enumeraciones Las enumeraciones heredan enum Autoboxing Envoltorios de tipos Aspectos básicos de autoboxing Autoboxing y métodos Autoboxing/Unboxing en expresiones Importación estática Anotaciones (metadatos) Evaluación de conocimientos 13. Genéricos Aspectos básicos de los genéricos Un sencillo ejemplo de genéricos Tipos vinculados Usar argumentos comodín Comodines vinculados Métodos genéricos Constructores genéricos Interfaces genéricas Tipos sin procesar y código de legado Inferencia de tipos con el operador de rombo Supresión Errores de ambigüedad Restricciones genéricas Ampliar su estudio de los genéricos Evaluación de conocimientos 14. Expresiones lambda y referencias de método Expresiones lambda: Introducción Bloques de expresiones lambda Interfaces funcionales genéricas Expresiones lambda y captura de variables Generar una excepción desde una expresión lambda Referencias de método Referencias de constructor Interfaces funcionales predefinidas Evaluación de conocimientos 15. Módulos Fundamentos de los módulos java.base y los módulos de plataforma Código de legado y el módulo sin nombre Exportar un módulo específico Usar requires transitive Usar servicios Otras funciones de los módulos Siga estudiando los módulos Evaluación de conocimientos 16. Swing: Introducción Los orígenes y la filosofía de diseño de Swing Componentes y contenedores Administradores de diseño Un sencillo programa Swing Manejo de eventos de Swing Utilizar JButton Trabajar con JTextField Crear un componente JCheckBox Trabajar con JList Utilizar clases internas anónimas para procesar eventos Crear un applet de Swing Evaluación de conocimientos 17. Presentación de JavaFX Conceptos básicos de JavaFX Estructura de una aplicación JavaFX Compilar y ejecutar un programa de JavaFX El subproceso de la aplicación Un sencillo control JavaFX: Label Utilizar botones y eventos Otros tres controles de JavaFX Presentación de efectos y transformaciones A continuación Evaluación de conocimientos Apéndice A. Respuestas Apéndice B. Utilizar comentarios de documentación de Java Etiquetas javadoc Formato general de un comentario de documentación Qué muestra javadoc Un ejemplo de comentarios de documentación Apéndice C. Introducción a Java Web Start ¿Qué es Java Web Start? Cuatro claves de Java Web Start Experimentar con Java Web Start utilizando el sistema de archivos local Ejecutar una aplicación de Java Web Start con javaws Usar Java Web Start con un applet Apéndice D. Introducción a JShell Fundamentos de JShell Listar, editar y volver a ejecutar código Añadir un método Crear una clase Usar una interfaz Evaluar expresiones y utilizar variables integradas Importar paquetes Excepciones Otros comandos de JShell Explorar JShell más a fondo Apéndice E. Más palabras clave de Java Los modificadores transient y volatile Instanceof Strictfp Assert Métodos nativos Otra forma de this Índice alfabético