Yes you can overload main method but public static void main(String[] args) is entry point in java. JVM always search for this method.
If it is not present in overloaded version ,when you try to run your code that gives run time exception no main method found.
From public static void main(String[] args), you can call other overloaded main function.
Keep in one thing in mind
If some one write
public static void main(String... args)//Varags
That is equivalent public static void main(String[] args) that will gives you compile time error.
Example :
package com.example.main;
public class OverLoadmain {
public static void main(String[] args) {
System.out.println("I am in main ");
}
public static void main(int args) {
System.out.println("I am in int");
}
public static void main(String args) {
System.out.println("I am in String");
}
/*public static void main(String... args) {
System.out.println("I amn in varags ");
}*/
}
If it is not present in overloaded version ,when you try to run your code that gives run time exception no main method found.
From public static void main(String[] args), you can call other overloaded main function.
Keep in one thing in mind
If some one write
public static void main(String... args)//Varags
That is equivalent public static void main(String[] args) that will gives you compile time error.
Example :
package com.example.main;
public class OverLoadmain {
public static void main(String[] args) {
System.out.println("I am in main ");
}
public static void main(int args) {
System.out.println("I am in int");
}
public static void main(String args) {
System.out.println("I am in String");
}
/*public static void main(String... args) {
System.out.println("I amn in varags ");
}*/
}