In java, in a subclass, how can super() or non-private methods that were defined in the superclass access private members of the superclass,
private members are not inherited in the subclass, therefore when we instantiate the subclass, private members are not instantiated, i.e. they don't exist, how can you access something that does not exist?
The private fields aren't inherited, but they do exist. It really depends on what you mean by "inherited" here - and the JLS (e.g. in 8.2) is - I believe - referring to which members can be looked up by member resolution with respect to the subclass. Private members can't be resolved in that sense, but the fields still exist.
The state of an instance of a subclass consists of all the fields declared throughout the entire inheritance chain.
See more on this question at Stackoverflow