Java >> Tutoriel Java >  >> Java

Pouvons-nous surcharger la méthode main() en Java ?

La question est que "pouvons-nous surcharger la méthode main() en Java ?"

  • Oui, nous pouvons surcharger la méthode main() en Java .
  • JVM appelle n'importe quelle méthode par sa signature ou, en d'autres termes, JVM recherche la signature, puis appelle la méthode.
  • Si nous surchargeons une méthode main() dans un programme, il y aura plusieurs méthodes main() dans un programme. Alors JVM appelle quelle méthode ? nous n'avons pas besoin de confondre si nous avons plusieurs méthodes main() alors JVM n'appelle qu'une seule méthode main() avec (string[] argument) par défaut.

Exemple :

class MainMethodOverloading {
    public static void main(String[] args) {
        System.out.println("We are in String[] args");
    }

    public static void main(int args) {
        System.out.println("We are in int args");
    }

    public static void main(String args) {
        System.out.println("We are in String args");
    }
}

Sortie

E:\Programs>javac MainMethodOverloading.java

E:\Programs>java MainMethodOverloading
We are in String[] args

Par défaut, JVM n'appelle qu'une seule méthode main() d'un argument String , Mais si nous voulons appeler une autre méthode main() ou toute autre méthode main() surchargée , alors nous ne pouvons faire qu'une seule chose, c'est-à-dire que nous pouvons appeler explicitement la méthode main() surchargée .

Nous pouvons appeler d'autres méthodes main() dans la méthode main() d'origine avec un argument String .

Exemple :

// Java Program to demonstrate overloading of 
// main() method
import java.io.*;

class MainMethodOverloading {
    // Origional main() method
    public static void main(String[] args) {
        System.out.println("Hi, We are in main (String [] args) ");
        MainMethodOverloading.main("Call main() with one argument");
    }
    // These are the overloaded main() methods 
    public static void main(String args1) {
        System.out.println(args1);
        MainMethodOverloading.main("call main() with", "two argument");
    }
    public static void main(String args1, String args2) {
        System.out.println(args1 + args2);
        MainMethodOverloading.main("call main() with", "three argument", "from two argument main()");
    }
    public static void main(String args1, String args2, String args3) {
        System.out.println(args1 + args2 + args3);
    }
}

Sortie

E:\Programs>javac MainMethodOverloading.java

E:\Programs>java MainMethodOverloading
Hi, We are in main (String [] args) 
Call main() with one argument
call main() withtwo argument
call main() withthree argumentfrom two argument main()

Balise Java