What is a nested class?
A class that is declared inside another class.
Why do we use nested classes?
Logical grouping: if one class is useful only to one other class, then we can nest them together in one file.
Encapsulation: Nested classes increase encapsulation.
Code Clarity: Makes the code more readable, only top-level classes are exposed. Helper classes are kept hidden.
What is a nested interface?
A nested interface is an interface that is declared inside another interface. By default it is static. It is also known as a static interface.
Can an Interface be defined in a Class?
Yes we can define a Static Nested interface within a class. Only the enclosing class can access it.