Nested Classes
In short: Nested classes are classes defined inside another class.
In more detail: Java knows static nested classes, inner classes, local classes and anonymous classes.
In Depth
- Static:
static class Node, needs no object of the outer class. - Inner class: belongs to an instance of the outer class and sees its attributes.
- Local/anonymous: inside a method or as a one-off implementation.
Useful when the inner class is only needed by the outer one (for example a node in a list). See inner classes, anonymous classes, class members.
See also: Inner Classes, Anonymous Classes, Class Members