dumptruckman
03/08/2018, 2:03 AMIn my opinion it’s not about whether you can enforce a visibility rule 100% from a technical standpoint but about what the enforcement gives you and the users of your API. In the case of package private, the enforcement is too weak to prevent your users from breaking it (even without reflection) but it’s good enough to prevent the members from popping up in the completion list. Especially, when I’m the one consuming my own API (within the same module), I would be very glad to be able to hide the implementation details from the completion list while still being able to organize my code properly within the package.