La aplicacion Hello World
Una aplicación es un programa convencional que se invoca desde
el intérprete de comandos. Este programa se carga directamente
desde el disco y no de la red Internet.
Ahora veremos la aplicación más simple que se puede escribir
en Java: el clásico ``Hello World''.
-
Crear un archivo llamado Hello1.java con:
// La aplicación Hello World!
public class Hello1 {
public static void main (String args[]) {
System.out.println("Hello World!");
}
}
- Compilar con: javac Hello1.java
- Ejecutar con: java Hello1
Observaciones:
- La primera línea es un comentario. Todo lo que viene
después de la secuencia // hasta el fin de línea es un comentario.
Java también acepta comentarios ``a la C'': /* ... */
- Luego viene la definición de una clase llamada Hello1:
public class Hello1 { ... }
En Java un programa es un conjunto de definiciones de clases que
están dispuestas en uno o más archivos.
- Dentro de la clase Hello1 se define el método main:
public static void main (String args[]) { ... }
En una clase se definen uno o más métodos.
- Las palabras public y static son atributos del
método que discutiremos más tarde.
- La palabra void indica que el método main no retorna
ningún valor.
- La forma (String args[]) es la definición de los argumentos
que recibe el método main. En este caso se recibe un argumento.
Los paréntesis [] indican que el argumentos es un arreglo y la palabra
String es el tipo de los elementos del arreglo.
Por lo tanto main recibe como argumento un arreglo de strings
que corresponden a los argumentos con que se invoca el programa.
- La instrucción System.out.println(...) despliega un
string en la consola.
Java no posee una sintaxis abreviada para desplegar strings.
Consideraciones importantes:
El applet Hello World
Un applet es un programa que anima una porción de una página Web.
Se recupera a partir de la red y corre en la máquina del usuario, pero con
muchas restricciones de modo que no pueda afectar la integridad
del ambiente del usuario.
A continuación veremos la versión applet del ejemplo anterior.
Es decir un programa que coloca en una página Web
el mensaje ``Hello World!''.
- Crear el programa fuente Hello2.java con:
import java.awt.Graphics;
import java.applet.Applet;
public class Hello2 extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}
- Compilar con: javac Hello2.java
- Crear la página Hello.html con el siguiente contenido:
Este es un applet:
Atención: Hello.html debe estar en el mismo directorio que Hello2.java.
- Ver el applet con: appletviewer Hello.html
- El mismo applet también se puede ver desde un browser Web
como netscape 2.x o superior.
Observaciones:
- Dado que un applet no se invoca desde el intérprete de comandos,
no tiene sentido definir el método main. El browser
Web notifica al applet que debe dibujar su contenido invocando
el método paint. Esto ocurre cada vez que se muestra
la porción de la página html que contiene este applet. Por lo
tanto un applet debe definir el método paint (en vez
de main).
- Las instrucciones:
import java.awt.Graphics;
import java.applet.Applet;
indican que dentro del archivo las clases java.awt.Graphics
y java.applet.Applet serán conocidas simplemente
como Graphics y Applet.
- Luego viene la definición de la clase Hello2 con:
public class Hello2 extends Applet { ... }
Las palabras extends indican que Hello2 es una
extensión de la clase de biblioteca Applet. Esto significa
que Hello2 es casi como Applet, solo que se modifica el
comportamiento del método paint.
- El método paint recibe como argumento un objeto
de tipo Graphics que corresponde a una clase de biblioteca.
Este objeto se usa para dibujar en la porción de página html
asignada al applet.
- La instrucción g.drawString("Hello world!", 50, 25);
dibuja el string ``Hello World!'' en la porción asignada en
las coordenadas (50, 25).
- Además de programar el applet es necesario construir la
página html que va a contener el applet. Por limitaciones
de espacio en este curso sólo veremos las etiquetas de html
que permiten agregar un applet a la página, sin detenernos
a ver en profundidad el lenguaje html.