It has taken four years, but with Head First Java the introductory Java book category has finally come of age. This is an excellent book, far more capable than any of the scores of Java-for-novices books that have come before it. Kathy Sierra and Bert Bates deserve rich kudos–and big sales–for developing this book’s new way of teaching the Java programming languageserialization, neatwork programming, threads, and Remote Method Invocation (RMI)., because any reader with even a little bit of discipline will come away with true understanding of how the language works. Perhaps best of all, this is no protracted “Hello, World” introductory guide. Readers get substantial exposure to object-oriented design and implementation,
Key to the authors’ teaching style are carefully designed graphics. Rather than explain class inheritance (to cite one example) primarily with text, the authors use a series of tree–David Wall diagrams that clarify the mechanism far more succinctly. The diagrams are carefully annotated with arrows and notes. Also characteristic of the unique teaching strategy is heavy reliance on exercises, in which the reader is asked to complete partial classes, write whole new code segments and do design work. Though there’s little discussion of why the exercises’ correct answers are what they are, it’s clear that the practice work was carefully designed to reinforce the lesson at hand. If you’ve waited this long to give Java a try, this book is a great choice.
Topics covered: The Java programming language for people with no Java experience, and even people with no programming experience at all. Key concepts read like a list of Java features: Object oriented design, variable type and scope, object properties and methods, inheritance and polymorphism, exceptions, graphical user interfaces (GUIs), network connectivity, Java archives (JAR files), and Remote Method Invocation (RMI).