Previous | Next | Trail Map | Writing Java Programs | The Anatomy of a Java Application


The main() Method

import java.util.Date;
class DateApp {
    public static void main(String args[]) {
        Date today = new Date();
        System.out.println(today);
    }
}
A Java application (like DateApp in the code listed above) must contain a main() method whose signature looks like this
public static void main(String args[])
The method signature for the main() method contains three modifiers: The main() method in the Java language is similar to the main() function in C and C++. When you execute a C or C++ program, the runtime system starts your program by calling its main() function first. The main() function then calls all the other functions required to run your program. Similarly, in the Java language, when you execute a class with the Java interpreter, the runtime system starts by calling the class's main() method. The main() method then calls all the other methods required to run your application.

If you try to run a class with the Java interpreter that does not have a main() method, the interpreter prints an error message. For more information see Troubleshooting Interpreter Problems .

Arguments to the main() Method

As you can see from the code snippet above, the main() method accepts a single argument: an array of Strings.
public static void main(String args[])
This array of Strings is the mechanism through which the runtime system passes information to your application. Each String in the array is called a command line argument. Command line arguments let users affect the operation of the application without recompiling it. For example, a sorting program might allow the user to specify that the data be sorted in descending order with this command line argument:
-descending

The DateApp application ignores its command line arguments, so there's isn't much more to discuss here. However, you can get more information about command line arguments, including the framework for a command line parser that you can modify for your specific needs in the Command Line Arguments lesson.


Note to C and C++ Programmers: The number and type of arguments passed to the main() method in the Java runtime environment differ from the number and type of arguments passed to C and C++'s main() function. For further information refer to Java Command Line Arguments Differ from C and C++ .


Previous | Next | Trail Map | Writing Java Programs | The Anatomy of a Java Application