La respuesta a esta pregunta depende de la versión de Java que esté utilizando. Antes de JDK 7, el método principal no era obligatorio en un programa Java.
- Podría escribir su código completo en bloque estático y se ejecutó normalmente.
- El bloque estático se ejecuta por primera vez tan pronto como la clase se carga antes de main(); se invoca el método y, por lo tanto, antes de que se llame a main(). main generalmente se declara como método estático y, por lo tanto, Java no necesita un objeto para llamar al método principal.
- Cuando dé el comando de ejecución (es decir, Java Test en el programa mencionado a continuación en el bloc de notas), entonces el compilador asume que Test es esa clase en la que main() está allí y desde que se carga el compilador, el método main(), los bloques estáticos están listos para ser ejecutado. Entonces aquí, primero ejecutará el bloque estático y luego verá que no hay main() allí. Por lo tanto, dará «excepción» , ya que la excepción se produce durante la ejecución. Sin embargo, si no queremos una excepción, podemos terminar el programa mediante
System.exit(0);
Sin embargo, desde JDK7 el método principal es obligatorio. El compilador verificará primero si main() está presente o no. Si su programa no contiene el método principal, obtendrá un error «método principal no encontrado en la clase». Dará un error (error de verificación del código de bytes porque en su código de bytes, main no está allí) no es una excepción porque el programa aún no se ha ejecutado.
Nota: – Sin embargo, ambos programas se compilarán porque para la compilación no necesitamos el método main().
// This program will successfully run // prior to JDK 7 public class Test { // static block static { System.out.println("Hello User"); } }
A continuación se muestra la captura de pantalla de la salida para ayudarlo a visualizar lo mismo, prácticamente. Ejecuté este programa en el Bloc de notas para que pueda comprender por qué esa excepción se convirtió en un error en la última versión.
Este artículo es una contribución de Gaurav Miglani . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA