The Java Tutorial says that since an inner class is associated with an instance of the enclosing class, it (the inner class) cannot define any static members itself.
It\
Why can't inner classes declare static members?
The inner class is contained in the instance area of the outer class. Therefore, within the inner class, it is not allowed to declare static members. On the other hand, the static inner class is contained in the static area of the outer class. Thus, it is only allowed to declare static members and not instance members.