TP19-20 Es 2-Introjava
TP19-20 Es 2-Introjava
TP19-20 Es 2-Introjava
Facultad de Informática
Grado en Ingeniería Informática, Grupo B
Tecnología de la Programación
Introducción a Java
Simon Pickin,
Alberto Díaz, Puri Arenas, Yolanda García
Historia del lenguaje Java
• 1991:
o James Gosling y su equipo de Sun inician el desarrollo del lenguaje “Oak”
o Simplificación de C++ adaptado a sistemas embebidos y GUI sencilla o sin GUI
o Pensado, en particular, para lo que ahora se llama “smart TV” y PDAs
o Marcado objetivo crece más lento de lo previsto; Oak no se usa hasta…
• 1995:
o Oak reorientado a la World Wide Web y renombrado Java
o Ideal para una red de recursos distribuidos alojados en ordenadores heterogéneos
o Java distribuido gratis e integrado en el navegador Netscape para ejecutar applets
§2 - 2 TP – 2019-20
Características del lenguaje Java
• Orientado a objetos
o Encapsulación, herencia, polimorfismo
o Herencia múltiple solo permitida en interfaces
• Sintaxis familiar
o similar a C++
• Tipado estático (y fuertemente tipado)
o Las variables tiene tipo y el compilador verifica tipos
o Todo valor tiene un tipo bien definido y cualquier conversión implícita
de tipos es segura
• Modelo de objetos más sencillo que C o C++
o No hay manipulación directa de punteros
• Gestión de memoria más sencilla que C o C++
o Recolector de basura automático
§2 - 3 TP – 2019-20
Características de la plataforma Java
§2 - 4 TP – 2019-20
La arquitectura de la plataforma Java
§2 - 5 TP – 2019-20
La plataforma Java
Java .java
Source
javac
Java .class
Bytecode
java
§2 - 6 TP – 2019-20
La máquina virtual Java
§2 - 7 TP – 2019-20
La plataforma Java abierta
§2 - 8 TP – 2019-20
Ediciones de Java
• Un entorno mínimo
o contiene el compilador y la máquina virtual
o se utiliza desde la línea de comandos
• Compilación en un entorno mínimo
o El comando javac, p.ej. javac MiClase.java
• produce ficheros de bytecode con la extensión .class, p.ej. MiClase.class
• Produce un fichero .class para cada clase definida en el código fuente
§2 - 11 TP – 2019-20
Estructura de un programa Java
package nombrePaquete;
§2 - 13 TP – 2019-20
Ficheros y directorios
• Los ficheros .class de Java son parecidos a los ficheros .o o.obj generados
por la compilación de C o C++
o pero en C y C++,
• las declaraciones de tipos y de funciones se suelen recoger en un fichero .h
• sobre todo si los mismos tipos y funciones se utilizarán en múltiples ficheros fuente
• Este fichero luego se incluye en cualquier fichero fuente que utiliza estos tipos y funciones
o mientras que en Java
• las clases importan cualquier otra clase que utilizan que no esté definida en el mismo fichero
y no esta en java.lang
• via import <nombrePaquete>.<nombreClase> o import <nombrePaquete>.
• Si se quiere declarar una interfaz explícitamente, se puede hacer más limpiamente con la
construcción Java interface
§2 - 15 TP – 2019-20
Ejemplo 1: primer programa Java
HolaMundo.java
// Este es mi primer progama en Java
§2 - 16 TP – 2019-20
Ejemplo 1: primer programa Java
§2 - 17 TP – 2019-20
Ejemplo 1: compilar y ejecutar
§2 - 18 TP – 2019-20