It seems that you can access package-private members from outside a third-party package, by adding your own class to the package which would access the package-visible members of other classes and expose them via its own public emthods. E.g. you could define your own class to be in package java.util, which could then access package-private members of java.util classes and expose them. Is that accurate? Are there no restrictions on defining your own classes to be in third-party packages?