3.2 Introducción a Java

Anuncio
05/04/2004
Orígenes del Lenguaje Java
3.2 Introducción a
Java
l
l
Historia, características, lenguaje
y entorno de Java
l
l
l
Características del Lenguaje
Java
Tecnología Java
l
l
l
l
Lenguaje de Programación
l
Orientado a objetos
Sintaxis similar a C++
l
Plataforma
l
l
l
l
Máquina Virtual Java (JVM)
Java API
Tres versiones
l
l
l
l
l
J2SE
J2EE
J2ME
l
Proceso de Desarrollo en Java
Genera
bytecode
Programa Java
public class HolaMundoApp {
publicstaticvoid main(String[] args) {
// Desplegar "Hola Mundo!"
System.out.println(" Hola Mundo!");
}
}
l
HolaMundoApp.class
HolaMundoApp.java
l
Windows
JVM
Solaris
JVM
Simple y orientado a objetos
l Simple de aprender, alta reutilización y bibliotecas
Robusto y seguro
l Tipificación fuerte, recolección de basura
Interpretado, neutro de la arquitectura y portable
l Se compila en bytecode, interpretado por JVM
Distribuido y alto desempeño
l Movilidad de código y permite tb. compilación JIT
Multi-hebra
l Mejora la interactividad de la aplicaciones
Dinámico
l Permite enlace y carga dinámica de clases
Aplicación Java
l
Compilador
JVM
1991. James Gosling inicia proyecto para escribir
código independiente de plataforma para sistemas
empotrados. Intenta con C++, pero no le satisface
1993. Desarrolla un nuevo lenguaje llamado OAK,
similar a C++, pero portable y seguro
1994. Aparece WWW y Mosaic
1995. Sun anuncia disponibilidad de lenguaje Java
y browser HotJava, que soporta applets
2004. Versión J2se1.5-Beta disponible. Incluye
programación genérica como parte del lenguaje
Le dice al sistema que ejecute la función
main de alguna clase
Carga dinámicamente otras clases que
requiera
Aplicaciones son consideradas confiables
(no significa que lo sean)
l
Pueden leer, escribir, crear o borrar archivos
Linux
1
05/04/2004
Un Primer Programa de
Aplicación
Un Primer Programa de
Aplicación
/**
* La clase HolaMundoApp implementa una aplicación
* que despliega por la salida estándar “Hola Mundo”
*/
public class HolaMundoApp {
public static void main(String[] args) {
// Desplegar "Hola Mundo!"
System.out.println(" Hola Mundo!");
}
}
Comentarios en Java
l
// texto
l
l
l
Se ignora el texto hasta el final de la línea (como
C o C++)
/* texto */
l
l
Se ignora todo texto entre /* y */ (tipo C o C++)
/** texto */
l
Método main
Comentarios de documentación (los usa la
herramienta javadoc)
Cuando se ejecuta una aplicación Java, el
interpretador invoca a main
l
l
l
l
Acceso a Recursos del
Sistema
l
Java provee una API (Application Programming
Interface) que permite acceder a recursos en forma
independiente del entorno
l
l
E/S, reloj, etc.
La API viene definida en el paquete System
Programa Java
Si no existe se genera un error
main tiene un argumento único, un arreglo
de strings
Permite al ambiente de ejecución pasar
parámetros a la aplicación
Por ejemplo en la línea de comando
Ejemplo de uso de System
class TestNombreUsuario {
public static void main(String[] args) {
String nombre;
nombre = System.getProperty ("user.name");
System.out.println(nombre);
}
}
System
Entorno de Ejecución
2
05/04/2004
Applets
l
l
Significa “aplicacioncita”, que lo diferencia de
una aplicación normal
Uso normal es en un Web Browser
l
l
Modelo de Ejecución del
Applet
Browser
También se puede ver con appletviewer
Proceso de compilación similar al anterior,
pero diferente modelo de ejecución
<HTML>
<HEAD>
<TITLE>Un Programa Simple con Applet</TITLE>
</HEAD>
/**
* la clase HolaMundo implementa una applet que
* simplemente despliega ”Hola Mundo!".
*/
public class HolaMundo extends Applet {
public void paint(Graphics g) {
// Display "Hello World!"
g.drawString (”Hola Mundo!", 50, 25);
}
}
l
La palabra import permite importar clases de
un paquete
l
l
En el ejemplo import java.applet:* permite utilizar
todas las clases del paquete java.applet
En el ejemplo anterior Applet es una clase del
paquete java.applet
•
Página Web que Carga Applet
import java.applet.*;
import java.awt.*;
Importación de Clases y
Paquetes
Applet
Applet
JVM
Programando un Applet
Œ
Servidor
Web
<BODY>
Aqui viene la salida del programa:
<APPLET CODE="HolaMundo.class" WIDTH=150 HEIGHT=25>
</APPLET>
</BODY>
</HTML>
Definición de Subclases
l
La palabra extends permite definir una
subclase a partir de otra (herencia)
l
En el ejemplo:
public class HolaMundo extends Applet { ...
3
05/04/2004
Implementación de Métodos
l
Una clase puede implementar uno o más
métodos
l
En el ejemplo:
public void paint(Graphics g) {
g.drawString(”Hola Mundo!", 50, 25);
}
l
Un applet, en general, debe implementar al
menos uno de los métodos siguientes
métodos: init, start y paint
Funcionalidad de Java (2/2)
Funcionalidad de Java (1/2)
l
Esencial
l
l
Interfaces gráficas
l
l
Web, URL, sockets UDP y TCP, direcciones IP
Internacionalización
l
l
AWT, Swing, Java2d y Java3d
Comunicación en la Red y Applets
l
l
Objetos, strings , números, E/S, estructuras de datos,
propiedades del sistema, fecha, hora, etc.
Programas pueden adaptarse al lugar e idioma
Seguridad
l
Firma digital, gestión de claves, certificados, control
de acceso, etc.
Java 2 SDK
....
l Threads (hebras)
l
l
l
l
Se pueden enchufar en arquitecturas existentes
Serialización de Objetos
l
l
Programación con múltiples threads
Componentes de Software (JavaBean)
Permite persistencia liviana y comunicación via RMI
Acceso uniforme a base datos relaciones
l
Usan JDBC (Java Database Connectivity)
4
Descargar