No not required. main() method should be defined only if the source class is a java application.
Main() method doesn't return anything hence declared void.
main() method is called by the JVM even before the instantiation of the class hence it is declared as static.
main() method accepts an array of String object as arguement.