I actually had not considered this issue which would seem to warrant
these classes living in the same package. But can not an equivalent
solution be constructed such that the implementations of these public
classes can hand the VM* classes references to internal structures (and
vice versa) though well defined interfaces, instead of relying on
visibility modifiers to allow the VM* objects to access private state of
java.lang classes, thereby allowing the VM* objects to live in a
separate package? Or am I misunderstanding your statement (or maybe
that is just too cumbersome)?
Aaron
Jeroen Frijters wrote:
You're missing the fact that moving these classes into another packages
creates another problem that is much worse. Namely that you often need
to access private state in the public classes, you can do that by living
in the same package, that's why the VM* classes live in the same package
as their public counterpart.
Regards,
Jeroen