No, we declare main() method as private or protected or with no access modifier because if we declare so, main() will not be accessible to JVM. Class will compile successfully but will get run time error as no main method found.
Example:
public class Main { protected static void main(String[] args) { System.out.println("Protected main method."); } } |
Output
Error: Main method not found in class Main, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application |
Note: We can declare main method as private or protected or with no access modifier, if we are using another main method as entry point.
Example:
class PrivateMain { protected static void main( String [] args ) { System.out.println( "Private main method."); } } public class Main { public static void main(String[] args) { PrivateMain.main(args); } } |
Output
Private main method. |
Java interview questions on main method
- Can we overload main() method in java?
- Can we declare main() method as private or protected or with no access modifier?
- Can we declare main method as non static in java?
- Why main() method must be static?
- Can we change return type of main() method?
- Can we run java class without main() method?
- Can we declare the main method as final?