If instead of:
private JButton theButton;
I define a field like this:
JButton theButton;
What is the difference?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Package. They’re visible to other classes in the same package.
FWIW, I usually use my own no-op @Package annotation on these, just to make it clear that I know what I’m doing – that I didn’t just forget something. Even though it’s the default, package access is probably used less in high-quality code than any of the other three possibilities – with one big exception:
In some styles of unit testing, it’s desirable to be able to get access to methods or fields that are normally private. One way to provide access is to set them to package access, and put the unit test class in the same package (but usually in a different “test” directory tree). Some developers think that this is bad practice – that in general, it’s bad to use private (or package-for-testing) methods in tests.