Does it really say that? If so, please tell us exactly which book and page number, because that should be reported as an error. The volatile keyword certainly can be used on class variables as well as instance variables. However I doubt you need to know even that much for the SCJP. Volatile really isn't important for that exam.
Let me step back a minute. In general, our idea when writing K&B was to provide candidates with solid foundations in the topics on the exam, and to try to teach about 110% of what's necessary for the exam. Please remember, that if you get 100% on the exam, that doesn't mean you know anywhere near 100% of Java. K&B is in no way a complete rehashing of the Java spec. We think the exam objectives are really good, and we think that if you pass the exam you will understand the important, foundational elements of Java.
That said, what we say in the book is: "For the exam, all you need to know about volatile is that, as with transient, it can be applied only to instance variables."
The key phrase here is "For the exam"
This is not the whole story concerning volatile variables - but it IS what you need to know for the exam.
Spot false dilemmas now, ask me how!
(If you're not on the edge, you're taking up too much room.)
Sasparilla and fresh horses for all my men! You will see to it, won't you tiny ad?