a class nested within another class
a nested class that is not explicitly or implicitly declared static
a nested class which is not static
a nested class whose instance exists within an instance of its enclosing class and has direct access to the instance members of its enclosing instance
a nonstatic class declared inside another class
a class whose definition is nested inside another class's definition
A Java class defined as a member of another class, locally within a block of statements or anonymously within an expression.
In object-oriented programming, an inner class is a class defined entirely within another class.