"private" access is meant on the class and not on the object level. That is, a method (running against an instance of the type) can access the private fields of any object of the given type, not only the fileds of the given object instance.
This is true for Java and C++ as well.