Bert and Kathy's book clearly distinguishes between the three access modifiers (public, protected, and private) and the four access levels (those plus "default"). Two of the BonusMasterExamQ.txt questions that were on the CD that came with the book ask for the "restrictive access modifier". Cleverly, I thought, I rejected the "default access" answer because this is a level, not a modifier. But it turns out that this was the correct answer, so I'm bewildered about how to answer a question like this on the real Programmer's exam. From a brief search of the Java Language Spec, I see the use of "access modifiers" but not access levels, so this may not be official terminology. I'm wondering if anyone can comment on whether the Programmer's Exam uses this terminology and if so, how to interpret the question.
Howdy -- Yes, that would be confusing. This is our mistake for referring to them in a question as 'modifiers', when we should have said 'levels', as we do in the book. But... you will NOT have to worry about this on the real exam, because the exam will NEVER EVER test you or trick you with recognizing that default is a level and not a modifier, unless you actuall saw code that showed, say, default being explicitly typed in as a modifier. So when you get questions that say, "Which is the most restrictive access modifier" you can ALWAYS answer the question as though it said "access LEVEL". I promise you that there are no questions on the real exam that will ever use that as an attempt to trick you. In other words, you won't ever have to say to yourself, (as you did with OUR tests), "Ah-ha, I KNOW that 'default' is not technically a modifier, therefore it can't be in this list of correct choices..." If you see a question that says "modifier" assume that this also includes 'level'. In fact, many people just treat "default" as the 'implicit modifier' as opposed to one of the 'explicit modifiers'. So you can, if you like, think of it as a modifier, as most people do. It's just not a *keyword modifier*. The main reason we make such a point of the difference in the book is to help make it clearer in our explanations. But we really should have followed that all the way through with our questions... Having said this, I am almost positive that we fixed this in the *real* exam questions, so you probably won't even have the issue. But if there IS one that uses 'modifier' when it means 'level', just ignore the distinction. The only time the distinction would matter on the exam is if you are recognizing that default is not a typed-in modifier, (but in fact is still a keyword used in switch statements), and that's a completely different issue. As long as you realize that 'default' is NOT a typed-in modifier. Hope that helps, and my apologies for the confusion! cheers, Kathy Sierra
Co-Author of <a href="http://www.amazon.com/exec/obidos/ASIN/0596007124/ref=jranch-20" target="_blank" rel="nofollow">"Head First Design Patterns"</a><br /> <br />Just a Jini girl living in a J2EE world.
Joined: Aug 15, 2003
Yes, thanks a lot for that clarification, Kathy. I found other issues related to your mock exams in the other forum and the official errata for your book on the publisher's website: http://www.osborne.com/products/0072226846/0072226846_errata.txt 1) Is this the most up-to-date version? 2) Are there other references that consolidate errata for the exams? 3) Are you interested in feedback for your most excellent book and if so, what is the best way to submit it? I doubt most forum readers are interested in mis-placed apostrophes or other minor typos. Thanks again for a wonderful book.
Cowgirl and Author
Joined: Oct 10, 2002
Howdy -- yep, that's the most recent "official" version. (We're working on revising it). The majority of things on the errata list have already been fixed, so chances are, your book will NOT have most of those (the current version is the third printing)... but there have been a few new ones not on the list. And we would be EXTREMELY appreciative if you send us whatever you come up with... email@example.com Thanks!! -Kathy