Enter your mobile number below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
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.

Thinking in Java (4th Edition) 4th Edition

4.2 out of 5 stars 318 customer reviews
ISBN-13: 007-6092039389
ISBN-10: 0131872486
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Trade in your item
Get a $6.67
Gift Card.
Have one to sell? Sell on Amazon
Rent On clicking this link, a new layer will be open
$14.49 - $17.62 On clicking this link, a new layer will be open
Buy used On clicking this link, a new layer will be open
$36.92 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$41.47 On clicking this link, a new layer will be open
More Buying Choices
52 New from $37.39 52 Used from $14.90
Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Best Books of the Year So Far
Looking for something great to read? Browse our editors' picks for the Best Books of the Year So Far in fiction, nonfiction, mysteries, children's books, and much more.
$41.47 FREE Shipping. In Stock. Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Frequently Bought Together

  • Thinking in Java (4th Edition)
  • +
  • Effective Java (2nd Edition)
  • +
  • Java Concurrency in Practice
Total price: $110.49
Buy the selected items together

Editorial Reviews

From the Back Cover

""Thinking in Java" should 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"""Much" better 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 also "fantastic" and 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 reading "Thinking 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 the "what" of Java (describing the syntax and the libraries) or the "how" of Java (practical programming examples). "Thinking in Java" is the only book I know that explains the "why" of 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 Java" is definitely the thinking person's choice in a Java book."
"--Robert S. Stephenson"Awards for "Thinking in Java"2003 "Software Development Magazine" Jolt Award for Best Book
2003 "Java Developer's Journal" Reader's Choice Award for Best Book
2001 "JavaWorld" Editor's Choice Award for Best Book
2000 "JavaWorld" Reader's Choice Award for Best Book
1999 "Software Development Magazine" Productivity Award
1998 "Java Developer's Journal" Editor's Choice Award for Best Book

"Thinking in Java" has 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 Java" is 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 CD" available online, with full multimedia seminar by Bruce Eckel.Live seminars, consulting, and reviews available. "See" www.MindView.net

Download seven free sample chapters from "Thinking in Java, Fourth Edition." Visit http: //mindview.net/Books/TIJ4.

About the Author

Bruce Eckel is president of MindView, Inc. (www.MindView.net), 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.


New York Times best sellers
Browse the New York Times best sellers in popular categories like Fiction, Nonfiction, Picture Books and more. See more

Product Details

  • Paperback: 1150 pages
  • Publisher: Prentice Hall; 4 edition (February 20, 2006)
  • Language: English
  • ISBN-10: 0131872486
  • ISBN-13: 978-0131872486
  • Product Dimensions: 7 x 2 x 9.2 inches
  • Shipping Weight: 3.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.2 out of 5 stars  See all reviews (318 customer reviews)
  • Amazon Best Sellers Rank: #37,642 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Paperback
The book is great! I particularly enjoyed the following chapters:

- inner classes (this chapter kicks serious butts; far better than even Core Java 4th edition's chapter on them)
- the Class class and its usage (same stands for reflection)
- discussing the Collection classes just kicks ass - Just Java 1.2, the only book Ive read that contains SOME info on these classes is far less comprehensive. Bruce kicks ass!
- I also loved the chapter on threads - this book is the only one (I've read several Java2 books) to discuss WHY suspend/resume/ stop are deprecated in Java2 (actually, the reason for deprecating stop() is a bit misleading - the author should have stressed that it's exiting run() from _inside_ an atomic operation that causes the problem here). Just Java 1.2 doesn't even try to discuss the problem of these three methods.
- I really liked it that Bruce Eckel always prefers experimenting to repeating what the Language Specification says
- the remarks scattered in the book are particularly cool. Even Core Java 4th ed lacks the number and depth of remarks, not to speak of other books (Just Java 1.2 is even worse in this respect) <hr>
The bad points of the book:
- the Swing chapter sucks... it needs REAL update. There are no other JFC libs, either - there is no Java2D, accessibility, drag-and-drop etc.
- the discussion of sing the clipboard is far worse than that of Core Java 3rd ed. vol.2.
- the same stands for 1.1/1.2 security - both Core Java 3rd ed. vol.2. (1.1) and Just Java 1.2 (1.2) are better in this respect
- the same stands for i18n
- the introduction to CORBA was particularly weak (not that other Java-books are good in this respect)
- the author pays too much attention to the 1.
Read more ›
Comment 111 people found this helpful. 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 your are new to Java or just the whole OOP programming concept, this is the book for you.
Here is my story:
In the beginning of Sept. of 1999 I started read Bruce's Thinking in Java with only a structured programming background. I had previously done some programming in a language called CSP (a Cobal generator) on the mainframe and had some experience with VB and C. A friend and I made a commitment to get java certified by January of 2000 or around then because if we were going to learn java, might as well do it the right way. So, through five month of reading and doing almost every example in the book, I was java certified on January 14. The point I am trying to make is 1. use this book as a launch pad into the java and OOP world, 2. I would recommend learning Java with a friend because it is easier for you to stay focused on the true goal, and 3. do all of the examples in the book. This, obiously is not the only way to learn, however, it was a way that helped me.
Note: I was working full time.
So, I would recommend "Thinking in Java" for beginners and intermediates programmers
Comment 162 people found this helpful. 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 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 covers the most important parts of the standard libraries to illustrate 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.
In my review of the first edition, I complained that the examples weren't always as realistic as I would have liked to have seen, and that the writing was occasionally not as clear as it might have been. I think that the writing has gotten clearer in most places, but the examples still sometimes leave me thinking "That's really fascinating, but when, why, and how would I use this in an actual development project?" Nevertheless, I have learned to love even the code examples for their authoritative demonstrations of object-oriented coding techniques that even most expert Java developers probably don't know, and probably should know.
As a programmer, I often get depressed when I see how much really atrocious code is being pumped out. After a ten-hour day of wading through swamps full of incomprehensible spaghetti, it is like a breath of fresh air to open Bruce Eckel's masterpiece and realize that there are others out there who care about the quality of the software being developed today.
Read more ›
Comment 26 people found this helpful. 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
By A Customer on March 9, 2002
Format: Paperback
What are these people thinking? I get the impression sometimes that all you need to do to get a five-star rating is number all the pages. This is not a terrible book, but it's definitely not five, or even three, star material. I also have Horton's "Beginning Java 2" and Deitel's "Java - How to Program". I don't think these are five-star books either, but they're both much better than "Thinking in Java".
Several things hurt this book. One is the author's reliance on comparing concepts to C++ - great if you know C++, but I firmly believe you don't need that to learn java, IF the material is presented correctly. Neither Horton nor Deitel assume any exposure to C++.
Another failure is in the author's code examples. He is generous with these, as is expected, but his descriptions and explanations of his examples are insufficient in many cases. No problem with easy examples, but the reader is left to struggle when more complex examples are presented. It seems like the longer the example, the shorter the explanation. Both Horton and Deitel offer very comprehensive explanations of their examples. Deitel even goes so far as to number every single line of code, and explain virtually every line of code, number by number.
Compounding this is the almost complete lack of diagrams and graphics. For example, the author rambles on while trying to explain the hierarchy of the Exception class, when a simple tree diagram (as most books use) and brief explanation would have been so much clearer. In addition, there are no graphics of what his GUI code examples produce.
Read more ›
3 Comments 46 people found this helpful. 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

Set up an Amazon Giveaway

Thinking in Java (4th Edition)
Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more about Amazon Giveaway
This item: Thinking in Java (4th Edition)