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:
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.18] | The information on this page is for non-military use only. | ||
| You are visitor number 71,120. | Military use includes use by defence contractors. | ||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/Mindprod website mirror) | ||
| http://mindprod.com/jgloss/protectedscope.html | J:\mindprod\jgloss\protectedscope.html | ||