As everyone knows, private fields are not inherited between classes. What intrigues me, is how it works for inner static classes. Consider the following code:
From JLS3 6.6.1: "A private class member or constructor is accessible only within the body of the top level class (§7.6) that encloses the declaration of the member or constructor. It is not inherited by subclasses..
Since inner class is accessible within the body of top class hence its accessible and child classes are out of the enclosing class. Now the specification doesn't say how this should happen - that's not really the job of a specification. It's really up to the implementation programmers to make it happen, and those details are not documented in the current specs.