Información general
Profesores:
Miguel Ángel Corella, José María Fuentes y Francisco Saíz.
Índice del curso:
Introducción.
El lenguaje Java.
Programación orientada a objetos en Java.
Jerarquías de clases.
Excepciones.
Applets.
Interfaces de usuario.
El lenguaje Java
Características principales (I)
Lenguaje interpretado.
Fuertemente tipado.
Sintaxis similar a C/C++.
Sin punteros: Garbage collection.
100% portable.
Integra librearías estándar para:
Interfaces de usuario.
Objetos distribuidos.
Threads.
Características principales (y II)
Ejecutable desde navegadores web.
Origen: Aumento de HTML para conseguir páginas Web dinámicas.
Versiones:
1995 – JDK 1.0
1997 – JDK 1.1
…
2004 – JDK 1.5
Desarrollo en Java
Java Development Kit (JDK):
Java Runtime Environment (JRE):
Java Virtual Machine.
Java API: lenguaje básico y librerías estándar.
Compilador a bytecode.
Otras herramientas:
Debuggers.
Applet viewer.
Compiladores RMI
…
Compilación e interpretación
class Ejemplo {
…
}
class Aux {
…
}
Ejemplo.java
Compilador Java
Ejemplo.class
Aux.class
Java Virtual Machine
JVM
Comparativa: Java vs. C++ (I)
Interpretado
Portable
Todo memoria dinámica
Garbage collection
No existen punteros
Todos los métodos virtuales
No hay herencia múltiple
Información sobre clases
en tiempo de ejecución.
Tratamiento genérico
de tipos (wrappers).
Java
C++
Compilado
Aspectos no portables
Memoria automática y dinámica
Gestión del programador
Existen punteros
No todos los métodos virtuales
Hay herencia múltiple
Información muy escasa
(dynamic_cast).
Punteros a void.
Comparativa: Java vs. C++ (y II)
Soporte estándar para interfaces:
AWT, SWING
Soporte estándar para concurrencia
Soporte estándar para objetos
distribuidos
Ejecutable en navegadores web
Homogeneidad del lenguaje
Lenguaje bien diseñado
Java
C++
No incluido en el lenguaje:
Microsoft MFC, Borland OWL…
No incluido en el lenguaje
No incluido en el lenguaje:
CORBA, ActiveX
No ejecutable por navegadores
Múltiples sintaxis
Compatibilidad con C
Elementos del lenguaje
Aspectos léxicos
Ignora múltiples espacios en blanco
Sentencias separadas por “;”.
Comentarios:
/* … */ ? Múltiples líneas de comentario
// ? Una única línea de comentario
Case – sensitive.
Convenios de nomenclatura:
Clases con mayúscula.
Métodos y variables con minúscula.
etc…
Página siguiente |