CDN$ 52.24
  • List Price: CDN$ 85.99
  • You Save: CDN$ 33.75 (39%)
Only 8 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
Thinking in Java (4th Edi... has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 3 images

Thinking in Java (4th Edition) Paperback – Feb 10 2006

4.2 out of 5 stars 237 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
"Please retry"
CDN$ 52.24
CDN$ 52.24 CDN$ 45.00

Harry Potter and the Cursed Child
click to open popover

Frequently Bought Together

  • Thinking in Java (4th Edition)
  • +
  • Effective Java (2nd Edition)
  • +
  • Head First Java
Total price: CDN$ 137.54
Buy the selected items together

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Paperback: 1520 pages
  • Publisher: Prentice Hall; 4 edition (Feb. 10 2006)
  • Language: English
  • ISBN-10: 0131872486
  • ISBN-13: 978-0131872486
  • Product Dimensions: 17.8 x 5.1 x 23.4 cm
  • Shipping Weight: 1.5 Kg
  • Average Customer Review: 4.2 out of 5 stars 237 customer reviews
  • Amazon Bestsellers Rank: #37,797 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

From the Back Cover

Thinking in Javashould be read cover to cover by every Java programmer, then kept close at hand for frequent reference. The exercises are challenging, and the chapter on Collections is superb! Not only did this book help me to pass the Sun Certified Java Programmer exam; it’s also the first book I turn to whenever I have a Java question.”
—Jim Pleger, Loudoun County (Virginia) Government
Muchbetter than any other Java book I’ve seen. Make that ‘by an order of magnitude’.... Very complete, with excellent right-to-the-point examples and intelligent, not dumbed-down, explanations.... In contrast to many other Java books I found it to be unusually mature, consistent, intellectually honest, well-written, and precise. IMHO, an ideal book for studying Java.”
—Anatoly Vorobey, Technion University, Haifa, Israel
“Absolutely one of the best programming tutorials I’ve seen for any language.”
—Joakim Ziegler, FIX sysop
“Thank you again for your awesome book. I was really floundering (being a non-C programmer), but your book has brought me up to speed as fast as I could read it. It’s really cool to be able to understand the underlying principles and concepts from the start, rather than having to try to build that conceptual model through trial and error. Hopefully I will be able to attend your seminar in the not-too-distant future.”
—Randall R. Hawley, automation technician, Eli Lilly & Co.
“This is one of the best books I’ve read about a programming language.... The best book ever written on Java.”
—Ravindra Pai, Oracle Corporation, SUNOS product line
“Bruce, your book is wonderful! Your explanations are clear and direct. Through your fantastic book I have gained a tremendous amount of Java knowledge. The exercises are alsofantasticand do an excellent job reinforcing the ideas explained throughout the chapters. I look forward to reading more books written by you. Thank you for the tremendous service that you are providing by writing such great books. My code will be much better after readingThinking in Java.I thank you and I’m sure any programmers who will have to maintain my code are also grateful to you.”
—Yvonne Watkins, Java artisan, Discover Technologies, Inc.
“Other books cover thewhatof Java (describing the syntax and the libraries) or thehowof Java (practical programming examples).Thinking in Javais the only book I know that explains thewhyof Java: Why it was designed the way it was, why it works the way it does, why it sometimes doesn’t work, why it’s better than C++, why it’s not. Although it also does a good job of teaching the what and how of the language,Thinking in Javais definitely the thinking person’s choice in a Java book.”
—Robert S. Stephenson
Awards forThinking in Java
2003Software Development MagazineJolt Award for Best Book
2003Java Developer’s JournalReader’s Choice Award for Best Book
2001JavaWorldEditor’s Choice Award for Best Book
2000JavaWorldReader’s Choice Award for Best Book
1999Software Development MagazineProductivity Award
1998Java Developer’s JournalEditor’s Choice Award for Best Book

Thinking in Javahas earned raves from programmers worldwide for its extraordinary clarity, careful organization, and small, direct programming examples. From the fundamentals of Java syntax to its most advanced features,Thinking in Javais designed to teach, one simple step at a time.

  • The classic object-oriented introduction for beginners and experts alike, fully updated for Java SE5/6 with many new examples and chapters!
  • Test framework shows program output.
  • Design patterns are shown with multiple examples throughout: Adapter, Bridge, Chain of Responsibility, Command, Decorator, Facade, Factory Method, Flyweight, Iterator, Data Transfer Object, Null Object, Proxy, Singleton, State, Strategy, Template Method, and Visitor.
  • Introduction to XML for data transfer; SWT, Flash for user interfaces.
  • Completely rewritten concurrency chapter gives you a solid grasp of threading fundamentals.
  • 500+ working Java programs in 700+ compiling files, rewritten for this edition and Java SE5/6.
  • Companion web site includes all source code, annotated solution guide, weblog, and multimedia seminars.
  • Thorough coverage of fundamentals; demonstrates advanced topics.
  • Explains sound object-oriented principles.
  • Hands-On Java Seminar CDavailable online, with full multimedia seminar by Bruce Eckel.
  • Live seminars, consulting, and reviews

Download seven free sample chapters fromThinking in Java, Fourth Edition.Visit

About the Author

Bruce Eckel is president of MindView, Inc. (, which provides public and private training seminars, consulting, mentoring, and design reviews in object-oriented technology and design patterns. He is the author of several books, has written more than fifty articles, and has given lectures and seminars throughout the world for more than twenty years. Bruce has served as a voting member of the C++ Standards Committee. He holds a B.S. in applied physics and an M.S. in computer engineering.

See all Product Description

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

Top Customer Reviews

Format: Paperback
This book goes way beyond the "tips and tricks" explained in so many other Java books. It explains in exhaustive detail how and why one should use the object oriented features of the language to produce professional-grade code. It explains many finer points of scope resolution, syntax, and class design which I have never seen covered anywhere else.
It does not attempt to cover every nook and cranny of the standard libraries, and chooses instead to use the most important ones to illustrate how things work in Java, and to demonstrate instances of good object-oriented design and coding practices. The whole idea is that, once you understand the underlying principles of the language, you'll be capable of using the free Java API documentation without needing everything to be explained to you any further.
I have only two minor quibbles. One is that the examples he provides often strike me as overly simplistic. I understand the need to keep code samples short and sweet, but I find it harder to remember the significance or the relevance of a coding construct when it is just used to push around "dummy" data members for the sake of demonstration. Longer, more realistic code samples would have helped me assimilate and retain the material better.
The other quibble is that I find the wording of some sentences to be a little vague. I sometimes find myself reading the same sentence several times before I feel that its meaning is clear to me. But this doesn't happen often.
Some other reviewers have panned this book. Maybe they were expecting that learning Java was going to be easy. It is not and it never will be. If you feel that you have some understanding of how to hack in Java, C or C++, and now you want to become a skilled object-oriented Java software engineer (and you're willing to put in the time and effort required to achieve this), you will find this book to be worth many times its cover price.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
If you're new to Java or Objected Oriented Programming buy the Teach Yourself in 21 Days book first. If you want a deeper understanding than any other Java book I've seen buy this one. Most Java books spend way too much time on Applets which is very little what Java is used for now. Java is a full application development language and this book is one of the few that actually gets past the Java Applet stuff. Companies such as Novell and Oracle are now writing their applications (not cute web applets) using Java. Very few books teach Java as a language but rather only teach how to make cute web applets. If you really want to learn Java you need this book. Plus he offers electronic versions in PDF, RTF, HTML, and Word formats. What more can you ask? I read this book cover to cover (much of it twice) and found it to be excellent. Again however you need a basic understanding of OOP first. (C++ and Java syntax are not enough, this book really goes into the OOP stuff pretty detailed and it would do you well to get the basics down first. This book is rather in depth and I thank the writer for a very well written book.)
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
This is the only book that I have found that takes the programmer from the basic "What are objects" level to "How to build client-server apps" level. Although there is no CD with the source code the source is freely available from the web site URL displayed right on the cover. I liked that
This is also the only programming book I've ever found that discusses design patterns. An understanding of design patterns is fundamental to being a "real" programmer. The fact that Bruce includes a chapter on these patterns shows that this book is way beyond the "dummies" type of junk that's out there.
My one caveat: I would prefer that the example programs actually do something. It's fun to show how a vampire class is derived from Monster class, but I think that when things are that abstract it doesn't help the new user understand how to apply it in the real world. For instance, if I wanted to build a bunch of classes that could be filtered I might not "get" the idea that they should all be derived from a common "filterable" class. That concept is the same as monster and vampire, but I'm not sure it's quite the best way to present it.
Still, I give it a solid 5 stars. Every Java programmer should have it.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
I read Eckel's "Thinking in C++" carefully over a period of many months and loved it. Alas, when I began reading "Thinking in Java" I was both appalled and bored. Why, oh why, doesn't Eckel put lines numbers on the left of his Java source code listings. Laziness or arrogance, the end result is the same: source code that is made needlessly harder to read than necessary. Why on earth does Eckel use such boring, uninteresting fonts in this book? I can't think of a defensible reason for this other than that it's the exact same font scheme used in his "Thinking in C++". Why in G-d's name is "Thinking in Java" so long? I cannot imagine who has time to read such a long book. It is more than 50% longer then "Thinking in C++". So long that it is difficult to carry it in the train and read during rush hour! So long that it could take literally several months to read cover to cover. And yet for all its length, Eckel continues his (stupid) tradition of not including the answers or results of his source code examples. To actually type in every one of his examples would double the time required to read his book. What planet is that man from? What is he thinking? Furthermore, I found that by the time I was reading, say, page 500 of "Thinking in Java" I had long ago forgotten what he had said way, way back on page 100. Imagine, months later, reading page 950, trying to remember what he said on page 500! Eckel's thinking has not in my opinion changed between his writing "Thinking in Java" versus "Thinking in C++". I think he wrote the Java book with the same mindset he had when he wrote the C++ book. I personally feel that the time required to read Eckel's Java book can much more profitably be spent reading several other excellent books, including the excellent new book, "Java 2 Exam Cram" which I just finished reading and recommend.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse

Most recent customer reviews