Java program's main
method has to be declared static
because keyword static
allows main to be called without creating an object of the class in which the main
method is defined. If we omit static
keyword before main
Java program will successfully compile but it won't execute.
For a little detailed description, look at the usual signature of Java's main
method
public static void main (String[] args)
Above code line begins defining the main
method. This is the line at which the program will start executing. All Java applications begin execution by calling main
.
The public
keyword is an access specifier, which allows the programmer to control the visibility of class members. When a class member is preceded by public
, then that member may be accessed by code outside the class in which it is declared. In this case, main
must be declared as public
, since it must be called by code outside of its class when the program is started. The keyword static
allows main
to be called without having to instantiate a particular instance of the class. Without having declared main
method static
, your program will successfully compile but won't execute and report error at run time. This is necessary since main
is called by the Java interpreter before any objects are made. The keyword void
simply tells the compiler that main
does not return a value. The main
is the method called when a Java application begins. Keep in mind that Java is case-sensitive. Thus, Main is different from main. It is important to understand that the Java compiler will compile classes that do not contain a main
method. But the Java interpreter has no way to run these classes. So, if you had typed Main instead of main, the compiler would still compile your program. However, the Java interpreter would report an error because it would be unable to find the main
method.
Hope you have enjoyed reading the reason why main in Java is declared public static and void. Please do write us if you have any suggestion/comment or come across any error on this page. Thanks for reading!
Share this page on WhatsApp