¿Podemos sobrecargar un método main()
en Java?¿Podemos sobrecargar el método principal en Java?
Respuesta
Usted puede sobrecargar el método main()
, pero sólo public static void main(String[] args)
se utilizará cuando la clase se pone en marcha por la JVM. Por ejemplo:
public class Test {
public static void main(String[] args) {
System.out.println("main(String[] args)");
}
public static void main(String arg1) {
System.out.println("main(String arg1)");
}
public static void main(String arg1, String arg2) {
System.out.println("main(String arg1, String arg2)");
}
}
que la voluntad siempre main(String[] args)
de impresión cuando se ejecuta java Test ...
desde la línea de comandos, incluso si se especifica uno o dos argumentos de línea de comandos.
Puede llamar al método main()
usted mismo desde el código, por supuesto, en ese punto se aplicarán las reglas normales de sobrecarga.
EDIT: Tenga en cuenta que se puede utilizar una firma varargs, ya que es equivalente desde el punto de vista de JVM:
public static void main(String... args)
Por JVM, para ser precisos, uno puede llamar manualmente a cualquier versión sobrecargada. –
podría ufls Dame un pequeño ejemplo ... – Mohan
Ya siempre imprime el valor principal (String [] args) en la consola, incluso he pasado argumentos en la línea de comandos. Luego, ¿para qué sirve la sobrecarga main()? – Mohan
sí, se puede sobrecargar principal método en Java. Pero el programa no ejecuta el método principal sobrecargado cuando ejecuta su programa, tiene que llamar al método principal sobrecargado desde el método principal real.
que significa que el método principal actúa como un punto de entrada para que el intérprete de Java inicie la ejecución de la aplicación. donde como un principal cargado se necesita llamar desde main.
Buena respuesta. Gracias. :) –
Gran respuesta, pero incluso la JVM no puede vencer a Skeet. –
Sí, por sobrecarga de método. Puede tener cualquier cantidad de métodos principales en una clase por sobrecarga de método. Veamos el ejemplo simple:
class Simple{
public static void main(int a){
System.out.println(a);
}
public static void main(String args[]){
System.out.println("main() method invoked");
main(10);
}
}
Se dará el siguiente resultado:
main() method invoked
10
Sí se puede sobrecargar el método principal. El método principal no debe ser un método principal estático.
Sí, puede sobrecargar el método principal en Java. tienes que llamar al método principal sobrecargado desde el método principal real.
Sí, el método principal puede estar sobrecargado. El método principal sobrecargado se debe invocar desde dentro del "vacío público estático principal (String args [])" ya que este es el punto de entrada cuando la JVM inicia la clase. También el método principal sobrecargado puede tener cualquier calificador como método normal.
sí, se puede sobrecargar principal()
Pero para ser claro - aunque se puede sobrecargar principal, sólo la versión con la firma estándar será ejecutable como una aplicación desde la línea de comandos . por ejemplo
public static void main(String[] args,int a){
// some code
}
2)public static void main(String[] args){//JVM will call this method to start
// some code
}
Esto es perfectamente legal:
public static void main(String[] args) {
}
public static void main(String argv) {
System.out.println("hello");
}
Sí. El método 'main()' puede estar sobrecargado. Intenté poner algo de código para responder a tu pregunta.
public class Test{
static public void main(String [] args)
{
System.out.println("In the JVMs static main");
main(5, 6, 7); //Calling overloaded static main method
Test t = new Test();
String [] message = { "Subhash", "Loves", "Programming" };
t.main(5);
t.main(6, message);
}
public static void main(int ... args)
{
System.out.println("In the static main called by JVM's main");
for(int val : args)
{
System.out.println(val);
}
}
public void main(int x)
{
System.out.println("1: In the overloaded non-static main with int with value " + x);
}
public void main(int x, String [] args)
{
System.out.println("2: In the overloaded non-static main with int with value " + x);
for (String val : args)
{
System.out.println(val);
}
}
}
de salida:
$ java Test
In the JVMs static main
In the static main called by JVM's main
5
6
7
1: In the overloaded non-static main with int with value 5
2: In the overloaded non-static main with int with value 6
Subhash
Loves
Programming
$
En el código anterior, tanto-método estático, así como una versión no estática de los métodos principales están sobrecargados con fines de demostración. Tenga en cuenta que, al escribir JVMs main, quiero decir, es el método principal que JVM usa primero para ejecutar un programa.
Sí, puede hacerlo.
El método main
en Java no es un método extraterrestre. Además del hecho de que main()
es como cualquier otro método & puede sobrecargarse de manera similar, JVM siempre busca la firma del método para iniciar el programa.
Los normales
main
método actúa como un punto de entrada para la JVM para iniciar la ejecución del programa.Podemos sobrecargar el método
main
en Java. Pero el programa no ejecuta
el método sobrecargadomain
cuando ejecutamos su programa, necesitamos para llamar al método sobrecargadomain
solo desde el método principal real.// A Java program with overloaded main() import java.io.*; public class Test { // Normal main() public static void main(String[] args) { System.out.println("Hi Geek (from main)"); Test.main("Geek"); } // Overloaded main methods public static void main(String arg1) { System.out.println("Hi, " + arg1); Test.main("Dear Geek","My Geek"); } public static void main(String arg1, String arg2) { System.out.println("Hi, " + arg1 + ", " + arg2); } }
Sí se puede sobrecargar el método principal, pero no debe haber sólo un método con la firma public static void main(string args[])
package rh1;
public class someClass
{
public static void main(String... args)
{
System.out.println("Hello world");
main("d");
main(10);
}
public static void main(int s)
{
System.out.println("Beautiful world");
}
public static void main(String s)
{
System.out.println("Bye world");
}
}
Sí, u puede sobrecargar el método principal, pero el intérprete siempre busque la sintaxis correcta del método principal para comenzar la ejecución. Y sí tiene que llamar al método principal sobrecargado con la ayuda de objeto.
class Sample{
public void main(int a,int b){
System.out.println("The value of a is " +a);
}
public static void main(String args[]){
System.out.println("We r in main method");
Sample obj=new Sample();
obj.main(5,4);
main(3);
}
public static void main(int c){
System.out.println("The value of c is" +c);
}
}
The output of the program is:
We r in main method
The value of a is 5
The value of c is 3
Si un método principal puede sobrecargarse como otras funciones pueden ser cosa overloaded.One hay que tener cuidado es que no debe haber al menos una función principal con "args String []" .Y como argumentos no puede haber cualquier número de funciones principales en su programa con diferentes argumentos y functionality.Lets entender a través de un ejemplo sencillo:
Class A{
public static void main(String args)
{
System.out.println("This is the main function ");
A object= new A();
object.main("Hi this is overloaded function");//Calling the main function
}
public static void main(String argu) //duplicate main function
{
System.out.println("main(String argu)");
}
}
salida: esta es la función principal
función Hola, esta es sobrecargado
Sí Según mi punto de vista, podemos sobrecargar el método principal, pero la sobrecarga de método lo es. Por ejemplo
class main_overload {
public static void main(int a) {
System.out.println(a);
}
public static void main(String args[]) {
System.out.println("That's My Main Function");
main(100);
}
}
en este doble Volver reducir el paso, sólo estoy llamando el método principal ....
- 1. ¿Cómo puedo sobrecargar el método en el servicio web Java?
- 2. Java - Thread.sleep en el método principal
- 3. es posible sobrecargar un método final
- 4. llamar a otro método en el principal método en Java
- 5. reemplazar el método principal
- 6. Hábitos de Java para el método principal
- 7. Cómo sobrecargar el método __bool__ de Python?
- 8. ¿Es necesario el método Principal en un programa Java?
- 9. ¿Qué es "String args []"? parámetro en el método principal Java
- 10. ¿Por qué no podemos sobrecargar "=" usando la función amigo?
- 11. ¿El applet de Java se ejecuta sin un método principal?
- 12. principal método en Python
- 13. ¿Cuándo podemos usar el método ClearAllPools?
- 14. ¿Podemos usar hilo dentro de [STAThread] principal?
- 15. ¿Podemos establecer el estilo del elemento principal del estilo secundario?
- 16. Ejecutar el método principal de Java desde una aplicación de escritorio Java en una JVM diferente
- 17. En Java, ¿se garantiza que se llamará el bloque "finalmente" (en el método principal)?
- 18. ¿Cómo sobrecargar el operador [] en C#
- 19. Método principal en una clase interna estática.
- 20. Java no puede sobrecargar ningún operador. ¿Por qué?
- 21. ¿Quién llamará al método principal en el objetivo c
- 22. ¿Cómo podemos identificar la sucursal principal en Perforce?
- 23. ¿Cómo obtener el URL principal en Java?
- 24. Método principal de Java, buen estilo de codificación
- 25. ¿El método principal pertenece a cualquier clase?
- 26. ¿Podemos sobrecargar una función basándose solo en si un parámetro es un valor o una referencia?
- 27. Cómo sobrescribir un método en Java, pero aún tiene una funcionalidad parcial del método principal
- 28. ¿Se puede sobrecargar el método con genéricos y solo cambiar el tipo genérico de la firma del método?
- 29. ¿Podemos ejecutar aplicaciones Java en iPhone?
- 30. ¿Podemos tener un método estático virtual? (C++)
¿Por qué quieres sobrecargar el método main(). Puede crear tantas clases como quiera con main() si desea un comportamiento de inicio diferente. Simplemente indique la clase principal cuando invoque el jar.O simplemente podría agregar un argumento adicional que pruebe cuando su inicio principal afecte a lo que hace. – locka