Private Vs public has nothing to do with security
If people can execute arbitrary code in your app, they can already read your memory, and even if they couldn’t they could use java reflection to just turn off the private modifier
Accessibility modifiers are to do with maintainability. If you have internal implementation logic that should be hidden from a consumer you don’t want that consumer to have to know about things they shouldn’t be changing anyway.
The comic is just about how classnames in java should be in pascal case
You absolutely will, and the ones you get will be harder to solve. It’s far more useable than it used to be, but the overall experience with Windows is still easier.
BUT it probably is quite usable for you overall. Just don’t go into it expecting nothing but smooth sailing.