Should static classes be inner?

An inner class, by default, has an implicit reference to an object of the outer class. If you instantiate an object of this from the code of the outer class, this is all done for you. … As a basic rule, if the inner class has no reason to access the outer one, you should make it static by default .

Read more

What is static nested class?

A static class is a class that is created inside a class , is called a static nested class in Java. It cannot access non-static data members and methods. It can be accessed by outer class name. It can access static data members of the outer class, including private.

Read more