This title is outstanding when it comes to class design. It will definitely let any reader do more with classes, whether you want to make use of such features as "anonymous inner classes" and reflection (for loading classes dynamically), or do more with interfaces (including extending interfaces and tricks on changing data members in interfaces).
Prominent sections here include a complete guide to Java language statements, including keywords, literals, and support for Unicode. Later sections feature a nice, clear explanation of Java's complicated I/O classes, a fine tutorial on threading, and a solid introduction to using Java's collection classes. The book closes with a tour of some additional "core" Java packages that are available in the language.
In all, this up-to-the-minute guide to some of the more complex features in today's Java fills a valuable niche for any Java developer. Besides providing a glimpse into what the Java team at Sun is up to, this authoritative resource can help you master the finer points of class design, as well as make the most out of newly added features in the new JDK 1.3 standard. --Richard Dragan
Topics covered: QuickStart overview of Java, class and object design in Java, access control, construction and initialization, static methods, method overloading, class inheritance, redefining members, the protected keyword, the strictfp keyword and floating-point processing, cloning objects, interfaces (constants, methods, and modifiers), extending interfaces, marker interfaces, nested classes and interfaces (including static nested types, inner classes, and anonymous inner classes), tokens, operators, and expressions in Java, literals, keywords, operator precedence, control flow, Java exception handling, exception classes, the String and StringBuffer classes, threads, synchronization APIs and techniques (scheduling, thread groups, and thread local storage), the wrapper classes for Number types, Java reflection, loading classes, garbage collection (GC algorithms, finalization and reachability states), packages, JavaDoc documentation tags, tour of Java I/O stream classes, serialization techniques, new and legacy Java collections, miscellaneous utility classes, system programming with properties, processes and JVM shutdown; internationalization and localization techniques, and tour of additional Java "core" packages.