public static void main (String args[]) {
/* 2 */
System.out.println( "¡Hola, Mundo!" ); /* 3 */
}
}
El código lo encontraremos en el directorio:
/Curso Java/Java/ejemplos/HolaMundo/
Todo programa Java es al menos una clase (todo en Java son clases, no existe nada fuera de clases; es decir, no existe el concepto de "variable global" o "función global" como en los lenguajes imperativos convencionales).
En principio, cada clase Java se escribe en un fichero cuyo nombre es el mismo de la clase con la extensión .java; el cuerpo del programa será el método main.
Cuando compilamos esta clase con Kawa, realmente lo que usamos es el comando del JDK javac (en el directorio bin), se genera un fichero con el mismo nombre de la clase y extensión .class (HolaMundo.class), que será el código objeto que podrá ejecutar el intérprete de JavaVM (comando de la JDK java), mostrando el mensaje "¡Hola, Mundo!" en pantalla.
El sistema pasa a main un vector de strings con los parámetros de línea que se hayan pasado al programa (si hay alguno).
La cabecera del método main.
La línea /*2*/ indica, como en C, la cabecera, la especificación de la función (main) a la cual se llamará, indicando que no devuelve ningún valor (void) y la lista de parámetros contenida en un array de Strings (String args[]).
Las palabras clave que figuran antes del tipo devuelto son los especificadores de método:
public indica que el método es público (lógico, ¿no?). Esto es, puede ser llamado por cualquiera.
static nos va a dar más problemas de entendimiento. Retomemos la pregunta anterior ¿sobre qué objeto llama automáticamente el sistema a main?. La respuesta es: ¡sobre ninguno! No hay ningún objeto creado cuando el programa se arranca.
Bien, esto no sería ningún problema en un lenguaje normal. Se llama a un procedimiento global main y este se ejecuta. Pero ya sabemos que en Java no hay procedimientos globales, todos pertenecen a una clase.
Bueno, pues aquí tenemos una gran afirmación a entender. A veces hay procesos que se realizan sobre la clase misma, no sobre un objeto o instancia de esa clase. Esto es lo que quiere decir la palabra clave static cuando se aplica a un método. Es lo que se llama método de clase.
La clase System contiene variables y métodos de clase útiles, como entradas y salidas estándar. Las variables son:
El string es una clase especial en Java.
Permite el uso del operador + que está sobrecargado como concatenación
de strings. No sólo eso, sino que si se concatena un string con
cualquier otro valor, éste se convierte a string.