Publicado el Dejar un comentario

El método main en Java

Para crear aplicaciones Java ejecutables es necesario crear una clase con un método cuya firma (nombre y argumentos del método) coincidan con el método main como el siguiente:

public class HolaMundo{

  //Método main
  public static void main(String args[]) {
    System.out.println("Hola Mundo");
  }

}

El método main debe cumplir las siguientes reglas:

  • El método debe ser marcado como un método publico (modificador de acceso public).
  • El método debe ser marcado como un método estático (modificador de no acceso static).
  • El método se debe llamar main.
  • El método no debe regresar ningún valor, debe regresar el tipo void.
  • El método debe aceptar un argumento de método de tipo arreglo String o un argumento variable de tipo String. El nombre del parámetro pude ser cualquier nombre válido.

Ejemplos de definiciones del método main válidos e inválidos:

//Es válido definir args como un argumento variable.
public static void main(String... args)

//Inválido, los puntos deben seguir al tipo de dato.
public static void main(String args...)

//Validos, argumentos y Variable son nombres válidos para una variable.
public static void main(String[] argumentos)
public static void main(String[] Variable)

//Validos. Los corchetes pueden seguir a el tipo o al nombre de la variable
public static void main(String[] args)
public static void main(String args[])

//Válido, las palabras reservadas public y static son itercambiables
static public void main(String[] args)
public static void main(String[] args)

Si ejecutamos  la clase HolaMundo:

java HolaMundo

regresará el siguiente texto:

Hola Mundo

La siguiente clase HolaMundoConParametros:

public class HolaMundoConParametros {
  public static void main(String args[]) {
    System.out.println(args[0]);
    System.out.println(args[1]);
  }
}

Si ejecutamos con:

java HolaMundoConParametros uno dos

Regresaría:

uno
dos

Los parámetros que son pasados al método main también son llamados parámetros o valores de linea de comando, ya que son pasados desde una linea de comando.

 

 

Publicado el Dejar un comentario

¿Todas las clases Java son ejecutables?

No. La Máquina Virtual de Java (JVM) no puede ejecutar cualquier clase Java. La JVM sólo puede ejecutar aquella clase que tenga definido un método main. Una aplicación está compuesta por una gran variedad de clases e interfaces, pero para utilizar éstas clases e interfaces debe existir una clase que tenga definido el método main. El método main es el punto de entrada o de ejecución de una aplicación Java. El código en éste método es el primer código que se ejecuta y éste utilizará el resto de las clases de la aplicación.

ClaseEjecutableJava

Publicado el Dejar un comentario

Estructura y componentes de un archivo de código fuente Java

Para definir clases e interfaces se utiliza un archivo con código fuente Java. Todo el código de hecho debe de definirse en estos archivos. Éstos archivos son archivos de texto cuyos nombres terminan con la extensión .java. En entradas anteriores vimos la estructura  y definición de las clases. En esta entrada o post, veremos como se define una interaface, como definir varias clases y/o interfaces en un mismo archivo con código java.

Interfaz.

Una interfaz contiene constantes y métodos, pero los métodos no son implementados, es decir, no contienen código. Las interfaces son contratos que las clases se encargan de implementar.

// Ejemplo de una interfaz

interface ControlImpresora {
    void pausarImpresion();
    void calcelarImpresion();
    void apagarImpresora();
}

Las iterfaces se definen con la palabra reservada interface, todas las letras con minúsculas, recuerde que java es sensitivo a mayúsculas.

Múltiples clases en un solo archivo Java.

Java permite definir varias clases o interfaces en un sólo archivo de código Java, pero hay que seguir ciertas reglas. Puedes definir varias interfaces o varias clases o una mezcla de ambas en un sólo archivo java, sin importar el orden en que sean definidas. Si una clase o interfaz es definida public (pública), el archivo debe contener el mismo nombre de esa clase o interfaz pública y, como habíamos dicho, la extensión ,java. No puede haber más de una clase o interfaz pública en un archivo de código java, si existe más de una, el código no compilará.

/*
 * Ejemplo de archivo con definición de varias interfaces y clases.
 * El archivo que contiene este código deberá llamarse Imprimible.java
 */

//el archivo debe llamarse como la siguiente interfaz ya que es pública
public interface Imprimible { 

  //código de la interfaz ....

}

interface Movible {

  // código de la interfaz ...

}

class Impresora {

  // código de la interfaz ...
}

Package e Import.

Si se usan las sentencias package e import dentro de un archivo de código Java con múltiples clases y/o interfaces aplican para todas las clases e interfaces definidas dentro del código. Todas las clases y/o interfaces en en mismo archivo deben pertenecer al mismo paquete, y todas las clases o interfaces importadas serán accesibles a todas las clases o interfaces que se encuentren definidas en el archivo.

Bibliografía: OCA Java SE 7 Programmer I Certification Guide de Manning.