Thinking in Java begins a little esoterically, with the author's reflections on why Java is new and better. (This book's choice of font for chapter headings is remarkably hard on the eyes.) The author outlines his thoughts on why Java will make you a better programmer, without all the complexity. The book is better when he presents actual language features. There's a tutorial to basic Java types, keywords, and operators. The guide includes extensive source code that is sometimes daunting (as with the author's sample code for all the Java operators in one listing.) As such, this text will be most useful for the experienced developer.
The text then moves on to class design issues, when to use inheritance and composition, and related topics of information hiding and polymorphism. (The treatment of inner classes and scoping will likely seem a bit overdone for most readers.) The chapter on Java collection classes for both Java Developer's Kit (JDK) 1.1 and the new classes, such as sets, lists, and maps, are much better. There's material in this chapter that you are unlikely to find anywhere else.
Chapters on exception handling and programming with type information are also worthwhile, as are the chapters on the new Swing interface classes and network programming. Although it adopts somewhat of a mixed-bag approach, Thinking in Java contains some excellent material for the object-oriented developer who wants to see what all the fuss is about with Java.
From the Back Cover
The definitive introduction to object-oriented programming in the language of the World Wide Web.
Full text, updates and code at BruceEckel
From the fundamentals of Java syntax to its most advanced features (network programming, advanced object-oriented capabilities, multi-threading), Thinking in Java is designed to teach. Bruce Eckel's readable style and small, direct programming examples make even the most arcane concepts clear.
* For beginners and experts alike.
* Teaches Java linguistics, not platform-dependent mechanics.
* Covers the most important aspects of Java 2: Swing and the new collections.
* Thorough coverage of advanced Java topics: network programming, multithreading, virtual machine performance, and connecting to non-Java code.
* 320 working Java programs, 15,000+ lines of code.
* Explains sound object-oriented principles, from inheritance to design patterns.
* From an independent voice, award-winning author Bruce Eckel.
* Source code and continuously updated, electronic version of the book freely available on the World Wide Web.
* Companion CD (with more than 15 hours of integrated audio lectures) available at BruceEckel
What People Are Saying:
“The best book on Java . . . Your depth is amazing.”
“Definitely the thinking person's choice in a Java book.”
“One of the absolutely best programming tutorials I've seen, for any language.”
Winner of Software Development magazine's Productivity Award at SD 99!
Winner of Java Developer's Journal's Editor's Choice Award!