This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
You define the main() method yourself, in whatever class you like. When you start a Java program, Java will look for a public static void main(String args) method - that's where your program starts running, as Aditi already mentioned.
Static methods are known as class methods. They belong to the class in which they are declared, and are not part of any instance of the class.
So to invoke them, object of the class is not required.
That's why main method is declared as static so that JVM can invoke it