We use inner classes to logically group classes and interfaces in one place to be more readable and maintainable . Additionally, it can access all the members of the outer class, including private data members and methods.
Read moreWhy do we need inner class in Java?
Inner classes are a security mechanism in Java . We know a class cannot be associated with the access modifier private, but if we have the class as a member of other class, then the inner class can be made private. And this is also used to access the private members of a class.8 Oca 2018
Read moreWhen Should inner classes be used?
Use a non-static nested class (or inner class) if you require access to an enclosing instance’s non-public fields and methods . Use a static nested class if you don’t require this access.
Read more