Originally posted by Damien Howard:
First, is the addition of assert the only difference between ver 1.3 and ver 1.4? K&B's book makes it seem that this is the case in their section on assert.
There are many differences in 1.3 and 1.4
However, w.r.t. SCJP1.4, assertions is the only new thing.
What are system classes?
Classes in that come standard with the JDK. Mainly, the java.* packages.
And if the command-line switches when used without arguments enable and disable assert in all classes except system classes then why wouldn't the following from K&B's book on page 263 table 4-4 be redundant, or am I not understanding something correctly?
java -ea -dsa
I think if you use just the above above combination of switches (-ea -dsa), then -dsa is redundant really. But if you want to enable the assertions only for certain system packages and disable for others, then you would use something like:
-esa:java.lang -dsa
Also is there a way to enable assert in system classes or would this be a silly question if I knew what was meant by system classes?
That's not a silly question at all. As I mentioned above, you have -esa option for enabling assertion in system classes. If you do java -help, you'll see all the various options that java supports. Try it, it will be very enlightening if you haven't it before