Is main method compulsory in Java? Last Updated : 17 Feb, 2021 Comments Improve Suggest changes Like Article Like Report The answer to this question depends on the version of java you are using. Prior to JDK 7, the main method was not mandatory in a java program. You could write your full code under static block and it ran normally. The static block is first executed as soon as the class is loaded before the main(); the method is invoked and therefore before the main() is called. main is usually declared as static method and hence Java doesn't need an object to call the main method. When you will give the run command(i.e java Test in the below-mentioned program in notepad), so compiler presumes Test is that class in which main() is there and since compiler load, the main() method, static blocks are ready to get executed. So here, it will run static block first and then it will see no main() is there. Therefore it will give "exception", as exception comes while execution. However, if we don't want an exception, we can terminate the program by System.exit(0); However, from JDK7 main method is mandatory. The compiler will verify first, whether main() is present or not. If your program doesn't contain the main method, then you will get an error "main method not found in the class". It will give an error (byte code verification error because in it's byte code, main is not there) not an exception because the program has not run yet. Note:- However, both the programs will get compile because for compilation we don't need main() method. Java // This program will successfully run // prior to JDK 7 public class Test { // static block static { System.out.println("Hello User"); } } Below is the screenshot of the output to help you to visualize the same thing, practically. I have run this program on Notepad so that you can able to understand why that exception has changed into error in the latest version. If run prior to JDK 7 Output in JAVA 6 version. If run on JDK 7,8 and so on... Output in JAVA 7 ?list=PLqM7alHXFySENpNgw27MzGxLzNJuC_Kdj Comment More infoAdvertise with us Next Article Understanding "static" in "public static void main" in Java G gaurav miglani Improve Article Tags : Misc Java Practice Tags : JavaMisc Similar Reads Java Methods Java Methods are blocks of code that perform a specific task. A method allows us to reuse code, improving both efficiency and organization. All methods in Java must belong to a class. Methods are similar to functions and expose the behavior of objects.Example: Java program to demonstrate how to crea 8 min read Parameter Passing Techniques in Java with Examples There are different ways in which parameter data can be passed into and out of methods and functions. Let us assume that a function B() is called from another function A(). In this case A is called the "caller function" and B is called the "called function or callee function". Also, the arguments wh 4 min read Java is Strictly Pass by Value! In order to understand more of how the java is processing the parameter in methods and functions, lets compare the java program with a C++ code which would make it more clear and helps you get the major difference between how the parameters are being passed to any methods or functions wrt passing pa 6 min read How are parameters passed in Java? See this for detailed description. In Java, parameters are always passed by value. For example, following program prints i = 10, j = 20. java // Test.java public class Test { // swap() doesn't swap i and j public static void swap(Integer i, Integer j) { Integer temp = new Integer(i); i = j; j = temp 1 min read Method overloading and null error in Java In Java it is very common to overload methods. Below is an interesting Java program. Java public class Test { // Overloaded methods public void fun(Integer i) { System.out.println("fun(Integer ) "); } public void fun(String name) { System.out.println("fun(String ) &quo 2 min read Can we Overload or Override static methods in java ? Let us first define Overloading and Overriding. Overriding: Overriding is a feature of OOP languages like Java that is related to run-time polymorphism. A subclass (or derived class) provides a specific implementation of a method in the superclass (or base class). The implementation to be executed i 5 min read Access specifier of methods in interfaces In Java, all methods in an interface are public even if we do not specify public with method names. Also, data fields are public static final even if we do not mention it with fields names. Therefore, data fields must be initialized. Consider the following example, x is by default public static fina 1 min read Java main() Method - public static void main(String[] args) Java's main() method is the starting point from where the JVM starts the execution of a Java program. JVM will not execute the code if the program is missing the main method. Hence, it is one of the most important methods of Java, and having a proper understanding of it is very important.The Java co 6 min read Is main method compulsory in Java? The answer to this question depends on the version of java you are using. Prior to JDK 7, the main method was not mandatory in a java program. You could write your full code under static block and it ran normally. The static block is first executed as soon as the class is loaded before the main(); t 2 min read Understanding "static" in "public static void main" in Java Following points explain what is "static" in the main() method: main() method: The main() method, in Java, is the entry point for the JVM(Java Virtual Machine) into the java program. JVM launches the java program by invoking the main() method. Static is a keyword. The role of adding static before an 3 min read Like