Cómo sobrecargar y anular el método principal en Java

¿Cómo sobrecargar el método principal en Java?

La sobrecarga de métodos se puede definir como una característica en la que una clase puede tener más de un método con el mismo nombre si y solo si difieren en la cantidad de parámetros o el tipo de parámetros o ambos, entonces pueden o no tener el mismo tipo de retorno. . La sobrecarga de métodos es una de las formas en que Java admite el polimorfismo.
, podemos sobrecargar el método principal en Java, pero JVM solo llama al método principal original, nunca llamará a nuestro método principal sobrecargado.
El siguiente ejemplo ilustra la sobrecarga de main() en java
Ejemplo 1:

// Java program to demonstrate
// Overloading of main()
  
public class GFG {
  
    // Overloaded main method 1
    // According to us this overloaded method
    // Should be executed when int value is passed
    public static void main(int args)
    {
        System.out.println("main() overloaded"
                           + " method 1 Executing");
    }
  
    // Overloaded main method 2
    // According to us this overloaded method
    // Should be executed when character is passed
    public static void main(char args)
    {
        System.out.println("main() overloaded"
                           + " method 2 Executing");
    }
  
    // Overloaded main method 3
    // According to us this overloaded method
    // Should be executed when double value is passed
    public static void main(Double[] args)
    {
        System.out.println("main() overloaded"
                           + " method 3 Executing");
    }
  
    // Original main()
    public static void main(String[] args)
    {
        System.out.println("Original main()"
                           + " Executing");
    }
}

Producción:

Como en el ejemplo anterior, está claro que cada vez que se ejecuta el método principal original, pero no los métodos sobrecargados, porque JVM solo ejecuta el método principal original de forma predeterminada, pero no el sobrecargado.
Entonces, para ejecutar métodos sobrecargados de main, debemos llamarlos desde el método principal original.
Ejemplo 2:
En este ejemplo, ejecutaremos todas las sobrecargas del método principal una por una

// Java program to demonstrate
// Overloading of main()
  
public class GFG {
  
    // Overloaded main method 1
    public static void main(boolean args)
    {
        if (args) {
            System.out.println("main() overloaded"
                               + " method 1 Executing");
            System.out.println(args);
  
            // Calling overloaded main method 2
            GFG.main("Geeks", "For Geeks");
        }
    }
  
    // Overloaded main method 2
    public static void main(String a, String b)
    {
        System.out.println("main() overloaded"
                           + " method 2 Executing");
        System.out.println(a + " " + b);
    }
  
    // Overloaded main method 3
    public static void main(int args)
    {
        System.out.println("main() overloaded"
                           + " method 3 Executing");
        System.out.println(args);
    }
  
    // Original main()
    public static void main(String[] args)
    {
        System.out.println("Original main()"
                           + " Executing");
        System.out.println("Hello");
  
        // Calling overloads of the main method
  
        // Calling overloaded main method 1
        GFG.main(true);
  
        // Calling overloaded main method 3
        GFG.main(987654);
    }
}

Producción:

Original main() Executing
Hello
main() overloaded method 1 Executing
true
main() overloaded method 2 Executing
Geeks For Geeks
main() overloaded method 3 Executing
987654

¿Anulando el método main() en Java?

Cada vez que hacemos herencia en Java, si un método en la subclase tiene el mismo nombre y firma de tipo que un método en su clase principal o superclase, entonces se dice que el método en la subclase está anulando el método de la clase principal. La anulación de métodos es una de las formas en que Java admite el polimorfismo en tiempo de ejecución.
No , no podemos anular el método principal de Java porque no se puede anular un método estático.
El método estático en Java está asociado con la clase, mientras que el método no estático está asociado con un objeto. Estático pertenece al área de clase, los métodos estáticos no necesitan un objeto para llamar. Los métodos estáticos se pueden llamar directamente usando el nombre de clase ( classname.static_method_name() ).
Entonces, siempre que intentemos ejecutar el método estático de la clase derivada, ejecutará automáticamente el método estático de la clase base.
Por lo tanto, no es posible anular el método principal en Java.
Para saber más sobre la anulación del método estático en Java , visite aquí

Publicación traducida automáticamente

Artículo escrito por Rajnis09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *