The main advantages of a nested (inner) class are:
Read moreWhy are inner classes discouraged in Java?
Non-static inner classes can hide a performance problem . They do have access to member fields on the enclosing class, but not directly, but via getters which are created automatically. This will be slower then just copying the members of the enclosing class to the inner class.
Read moreWhat are the main disadvantages of using Java inner classes?
Q7)What are disadvantages of using inner classes?
Read moreWhy do we need inner class can’t we just work with outer classes wherever we implement inner classes?
Making Address and City as outer class exposes City to any of the Class . Making it an inner class of Address will make sure that its accessed using object of Address.
Read more