Inner classes are very useful for classes that are written specifically to be used with the encompassing class. A good example of this would be a LinkedListNode class being part of a LinkedList...
Quite simply, an inner class is one class within another. Typically the inner class will be a private inner class, and will only be used by the outer class. class MyOuterClass {
class MyInnerClass...