Stephane, please take my words within context. I wasn't being too technical; just merely using "public to the world" with regards to exporting packages. However, I appreciate your technical eye to get the details right. Thanks for the broader explanation.
Cheers, Paul On Mon, Aug 1, 2016 at 10:58 AM, Stephane Epardaud <s...@epardaud.fr> wrote: > I don't think public ever meant "public to the world". In Java 1->8 it > means "visible to those who can see the containing scope". If you declare a > public inner class in a private (or package-private) class, then those who > cannot access the outer type also cannot access the public inner class. > > So no, "public" never meant "visible to everyone", it was always about > scope. > > On the other hand, for toplevel types, the scope had always been the > package, and packages were public by default. Now that default changes to > private, but notice that even here, a package is only private outside its > scope (the module). Other packages in the same scope (module) will be able > to access it. > > So for me it's always been about exporting from the current scope. > > > On 01/08/16 17:38, Paul Benedict wrote: > >> To echo David, there is a complaint by me in these archives how I still >> find it difficult to remember that "public" is no longer being public. I >> feel the same way today still. The word "public" means "for everyone" so >> it's always jarring to have it no longer mean what it should mean in >> normal >> English. Also, I find it less than appealing to do double-duty to make my >> classes public. I now have to remind myself to export my package but it's >> still something I forget. I find this step to be a nuisance. That's my >> real >> world feedback. >> >> >