protected scope : Java Glossary

protected scope
If you have a variable or method in your class that you don’t want clients of your class directly accessing, declare it protected. Classes that extend your class will still be able to use it even if they are not part of the same package. The default package accessibility has slightly more restricted visibility. Consider the following code:
A protected method is visible to inheriting classes, even not part of the same package. A package scope (default) method is not. That is the only difference between protected and package scope.

The theory is that someone extending your class with protected access knows more about what they are doing than someone who is merely using it with public access. They also need more access to your class’s inner workings. Other than that, protected behaves like default package access.

You can’t use a protected constructor in a class that extends the constructor’s class, other than via an implicit or explicit super() to invoke the protected constructor. In other words, you can’t say new X() in an extending class where X is the protected constructor. The following code should make it clearer:

Further, you cannot declare a top level class protected, just the individual methods in it.

CMP homejump to top You can get the freshest copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/jgloss/protectedscope.html J:\mindprod\jgloss\protectedscope.html
logofeedback Please email your feedback for publication, letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : feedback email If you want your message kept confidential, not considered for posting, please explicitly specify that.
mindprod.com IP:[65.110.21.43]
view BlogYour face IP:[38.107.179.214]
You are visitor number 180,631.