Can the main method be overloaded in Java?
Yes, the main
method can be overloaded in Java. The main
method is defined as:
public static void main(String[] args)
However, you can create additional methods with the same name main
but with different parameter lists. This is known as method overloading. Here’s an example:
public class MainOverloading {
public static void main(String[] args) {
System.out.println("Main method with String array");
main(5); // Calling the overloaded main method
}
// Overloaded main method
public static void main(int number) {
System.out.println("Overloaded main method with int: " + number);
}
// Another overloaded main method
public static void main(String arg) {
System.out.println("Overloaded main method with String: " + arg);
}
}
In this example, there are three main
methods: one that takes a String[]
argument (the standard entry point for Java applications), one that takes an int
, and one that takes a String
.
When you run the program, the Java Virtual Machine (JVM) will always call the main
method with the String[]
parameter as the entry point. The other overloaded versions can be called from within the main method or from other methods in the class, but they will not be invoked by the JVM directly.