I ask my self about protected modifier. Here's what is said in Complete Java 2 Certification Guide from Philipp Heller and Simon Roberts:
only variables and methods may be declared protected
So, no of course, top level classes nor inner classes. But here's what can be read in danchisholm mock exam on declaration.
If a class C is declared as a member of an enclosing class then C may be declared using no access modifier or any of the three access modifiers, private, protected, or public. However, if class C is not declared as a member of an enclosing class then C may be declared with no access modifier or using the access modifier "public". The other two access modifiers, private and protected, are not applicable to any class that is not a member class.
So my question is the following: May a member class be declared protected ? Thanks in advance, Cyril.
SCJP 1.4, SCWCD, SCBCD, IBM XML, IBM Websphere 285, IBM Websphere 287
Oh my god, this is really funny. I just posted the same exact question about the exact same line in that book! I just did a double-take when I saw the topic. Well, looks like I'm off to delete my post. Yes, clearly protected is allowed, I tried it, and it makes sense that it would be. In the book for other modifiers they say it can be used on "classes methods and variables", and so on. I guess maybe at this chapter, which is before nested classes, they think of "classes" as top-level only. P.S. Read the last sentence on page 95. They state that classes are considered top-level in their chart on the following page [ July 04, 2003: Message edited by: Brian Joseph ]