In the Java programming language, every application must contain a main method whose signature is:
public static void main(String[] args)
The main method is similar to the main function in C and C++; it's the entry point for your application and will subsequently invoke all the other methods required by your program.
If your class claims to implement an interface, all methods defined by that interface must appear in its source code before the class will successfully compile.
A package is a namespace that organizes a set of related classes and interfaces. Conceptually you can think of packages as being similar to different folders on your computer.