Metodo main() en Java: Punto de Entrada Explicado
El metodo main() en Java: explicacion completa del punto de entrada de todo programa. Firma, String[] args y la JVM.

Ultima actualizacion: 14 de julio de 2026
Contenido Rapido
main()es el punto de entrada de todo programa Java- Firma:
public static void main(String[] args) String[] argsrecibe argumentos de linea de comandosstaticpermite ejecutar sin instanciar la clase- La JVM busca el metodo main para iniciar la ejecucion
El metodo main() es el punto de entrada de todo programa en Java. La JVM (Java Virtual Machine) lo busca para iniciar la ejecucion. Su firma es
public static void main(String[] args)y debe ser publico, estatico y recibir un array de Strings como parametro.
El método Main() en Java es uno de los métodos más usados en Java, ya que sin él no podríamos ejecutar nuestros programas. En este artículo vamos a ver qué es y como funciona.
Vídeo explicativo
Partes del método Main()
Vamos a empezar explicando que significa cada una de las partes del método main():
public static void main(String args[])
public: Es un especificador de acceso. Debemos usar la palabra clave public antes del método main() para que la JVM pueda identificar el punto de ejecución del programa. Si usamos private, protected o default antes del método main(), no será visible para la JVM.
static: hace que un método sea estático utilizando la palabra clave static. Deberíamos llamar al método main() sin crear un objeto. Los métodos estáticos son el método que invoca sin crear un objeto y son propios de la clase, por lo que no necesitamos ningún objeto para llamar al método main().
void: en Java, cada método tiene el tipo de retorno. La palabra clave void reconoce al compilador que el método main() no devuelve ningún valor.
main(): es el nombre predeterminado que está predefinida en la JVM y sirve para identificar que el método va a ser un método de ejecución. JVM lo llama para ejecutar un programa línea por línea y finalizar la ejecución después de completar este método. También podemos sobrecargar el método main().
String args[]: el método main() también acepta algunos datos del usuario. Acepta un grupo de cadenas, que se denomina matriz de cadenas o vector. Se utiliza para contener los argumentos de la línea de comandos en forma de valores de cadena.
Nota:
Un programa sin el método main() compilará, pero no se ejecutará, porque JVM no reconocerá el método main(). Recuerda que JVM siempre busca el método main() con una matriz de tipo cadena como parámetro.
Parámetro String[]
Aquí, agrs es el nombre de la matriz y es de tipo String. Significa que puede almacenar un grupo de cadenas. Recuerda, esta matriz también puede almacenar un grupo de números, pero solo en forma de cadena. Los valores pasados al método main() se denominan argumentos. Estos argumentos se almacenan en la matriz args, por lo que generalmente se usa el nombre args.
main(String args[])
Para pasar un parámetro se ha indicar después de la llamada a la ejecución de nuestro programa. Por ejemplo:
java Main --hola
En el ejemplo anterior vemos 3 argumentos de consola:
java: es la llamada a java de nuestro entorno, normalmente suele estar configurada en nuestra variable de entorno
Main: nuestro programa en bytecode a ejecutar, normalmente se obtiene compilando un archivo .java, que en este caso puede ser Main.java
–hola: este es el argumento que pasamos a nuestro programa y será recogido en el parámetro String[] args, los guiones ‘—‘ delante del argumento son opcionales, pero suele ser usado para indicar que el argumento será usado en nuestro programa como argumento.
Preguntas Frecuentes
Que es main() en Java?
main() es el metodo de entrada de todo programa en Java. Es el punto donde la JVM (Java Virtual Machine) comienza la ejecucion del codigo. Sin un metodo main, un programa Java no puede ejecutarse de forma independiente.
Que es String[] args?
String[] args es el parametro del metodo main que recibe argumentos de linea de comandos. Es un arreglo de cadenas que contiene los valores que el usuario pasa al ejecutar el programa. Por ejemplo: java MiPrograma arg1 arg2.
Por que main es static?
main es static porque la JVM necesita llamarlo sin instanciar la clase. Como no existe ningun objeto al momento de iniciar el programa, el metodo debe ser accesible directamente desde la clase. Por eso se declara con la palabra clave static.
Puede haber varios metodos main en una clase?
No puedes tener multiples metodos main con la misma firma (mismos parametros). Sin embargo, puedes tener multiples metodos main en diferentes clases del mismo proyecto. La JVM ejecuta el metodo main de la clase que se especifica al compilar o ejecutar.
Como ejecuta Java el metodo main?
Cuando ejecutas java MiClase, la JVM carga la clase, busca el metodo main con la firma exacta (public static void main(String[] args)), y comienza la ejecucion desde ahi. Si no encuentra el metodo main o la firma no coincide, lanza un error.
Articulos Relacionados
¿Quieres acelerar tu carrera como desarrollador Java?
Reserva una Sesión de Estrategia Técnica gratuita y descubre cómo pasar de Junior a Senior en menos tiempo del que imaginas.
- Diagnóstico personalizado de tu nivel técnico
- Plan de acción para conseguir tu próximo ascenso
- Mentoría 1-a-1 enfocada en resultados
Plazas disponibles limitadas