Cuando uno comienza a programar en Java una de las primeras cosas que escribe es:
Public static void main(String[] args) { … }
Escribimos esto una y otra vez hasta que descubrimos que la mayoría de IDEs lo hacen por nosotros de manera automática si se lo pedimos, pero ¿qué significa?
Las primeras palabras se estudian relativamente pronto, por lo que enseguida se comprende que public static hace referencia a que es un método público y estático, void a que no tiene ningún return y main es el nombre del método. Sin embargo, (String[] args) no queda claro a que hace referencia hasta que comienzas a invocar a aplicaciones java desde la línea de comandos.
Así pues, String[] args hace referencia a un array con nombre “args” de tipo String. En este array se almacenan los posibles parámetros que necesite el método a través de línea de comandos.
Por ejemplo, si yo lanzo un archivo .jar llamado “aplicacion1” de la siguiente forma:
java -jar aplicacion1.jar 40 azul archivo.txt
Estoy pasando 3 parámetros, 40, azul y archivo.txt. Para acceder a estos parámetros desde el código basta con leer su posición en el array args teniendo en cuenta que están en formato String. Siguiendo con el ejemplo:
int num = Integer.parseInt(args[0]) ; String color = args[1]; File archive = new File(args[2])
En la variable num se almacenará el valor entero 40, en la variable color el valor “azul” y en la variable archivo se creará un objeto de tipo File desde el archivo.txt.
