works very hard at explaining various details in a variety of ways
This is a book that is aimed at teaching Java to a reader who has no knowledge of Java, but has some (but probably not a huge amount of) programming experience. It works very hard at explaining various details in a variety of ways that are designed to help the reader's memory; including humorous cartoons, doggerel, diagrams, 'interviews' with classes, annotated code extracts and a variety of exercises,which the authors strongly encourage the reader to complete. I am not a teaching expert, but I felt that I could use the techniques used by the authors in my own training courses (largely based around ways of saying the same thing in 3 different ways in quick succession without becoming dull).
In general the book works well. I found it interesting in the way that it presented Java in a not overtly technical manner; the prose was readable and generally well structured. For example its coverage of object references I thought was well done remaining accurate while being clear to a non-expert reader.
My only grouses with the book were minor typos, and the claim that you don't need to know the operator precedence rules in Java if you code with plenty of brackets.
However, these are very minor complaints and I would still recommend this book for a newcomer to Java to get started in the language.