Following is a portion from Effective java on why one should always prefer to use static inner classes over non static -
It seems contradicttory.. The first thing is that Each instance of the non static class will contain an extraneous reference to the outer class ??
As one cannot instantiate the inner class without instantiating the outer class. The outer class instance will always be there..
How its gonna be an extra thing....
Please suggest some pros and cons of using static member classes..