When you execute the Java Virtual Machine (JVM) with the java
command, the JVM attempts to invoke the main
method of the class you specify—when no objects of the class have been created. Declaring main
as static
allows the JVM to invoke main
without creating an instance of the class. When you execute your application, you specify its class name as an argument to the command java
, as in
java ClassName argument1 argument2 ...
The JVM loads the class specified by ClassName and uses that class name to invoke method main
. In the preceding command, ClassName is a command-line argument to the JVM that tells it which class to execute. Following the ClassName, you can also specify a list of String
s (separated by spaces) as command-line arguments that the JVM will pass to your application. Such arguments might be used to specify options (e.g., a file name) to run the application. As you’ll learn in Appendix E, your application can access those command-line arguments and use them to customize the application.