This is the definitive Java book written by the inventors of the language. Thoroughly revised from start to finish, this new edition describes the newest version of the Java programming language, version 1.3 of the Java 2 platform Standard Edition. More than just API updates, this third edition has been restructured to give more in-depth treatment of the newer language features, as well as informative examples on using the new core classes like the collections and internationalization packages.
Direct from the creators of the Java™ programming language, this Third Edition provides unique insights into why and how the language was designed and intended to be used. More advanced students will find this new edition to be a valuable reference, and will gain new insights into the subtleties of the language. Beginning and intermediate students will benefit from the valuable examples and clear explanations of language and library features.
Written by several of Java's inventors,
The Java Programming Language, Third Edition provides a nearly indispensable guide to basic and advanced features in today's hottest programming language. Perfect for the intermediate or advanced developer, this book delivers a wealth of information on how to do more with Java. The first sections of this title provide a nicely compact tour of Java basics. If you're a beginner, you'll get a glimpse of the fundamentals of Java quickly. Most of this new edition has the more experienced reader in mind. Subsequent chapters delve into basic and advanced language features of what can be done with classes, interfaces and other design features in Java. The authors' explanations are notably clear and never pedantic. Many examples are illustrated using simple mathematical problems, and the class design samples for inheritance and interfaces all use comprehensible class names and concepts.
This book is just outstanding when it comes to class design. This title will definitely let any reader do more with classes, whether you want to make use of such features as "anonymous inner classes", reflection (for loading classes dynamically), or do more with interfaces (including extending interfaces, and even tricks to change data members in interfaces).
Standout sections here include a complete guide to Java language statements, including keywords, literals and support for Unicode. Later sections feature a nicely 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, Amazon.com
Topics covered: Quickstart overview of Java, class and object design in Java, access control, construction and initialisation, 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, synchronisation APIs and techniques (scheduling, thread groups and thread local storage), the wrapper classes for Number types, Java reflection, loading classes, garbage collection (GC algorithms, finalisation and reachability states), packages, JavaDoc documentation tags, tour of Java I/O stream classes, serialisation techniques, new and legacy Java collections, misc. utility classes, system programming with properties, processes and JVM shutdown; internationalisation and localisation techniques, and tour of additional Java core packages.