Inner classes are classes that are defined within the class declaration of another class.
Inner classes are meant to be small and act as helpers to the enclosing class. Since they are enclosed within another class, only the enclosing class can see the inner classes and the inner classes can see anything in the enclosing class. Anonymous classes do not have a class declaration like we are used to seeing. Anonymous classes have all of their methods declared immediately following the call to the new operator. Frames are the main window for applications.