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 (2nd Edition) 2nd Edition

4.2 out of 5 stars 318 customer reviews
ISBN-13: 978-0130273635
ISBN-10: 0130273635
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.
Have one to sell? Sell on Amazon
Buy used
Condition: Used: Very Good
Comment: Crisp, attractive copy. Free of internal markings and includes all data disks and access codes.
Access codes and supplements are not guaranteed with used items.
59 Used from $0.01
FREE Shipping on orders over $25.
More Buying Choices
12 New from $8.77 59 Used from $0.01

There is a newer edition of this item:

Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

ITPro.TV Video Training
Take advantage of IT courses online anywhere, anytime with ITPro.TV. Learn more.
click to open popover

Editorial Reviews

Amazon.com Review

Perfect for migrating to Java from a fellow object-oriented language (such as C++), the second edition of Thinking in Java continues the earlier version's thoughtful approach to learning Java inside and out, while also bringing it up to speed with some of the latest in Java 2 features. This massive tutorial covers many of the nooks and crannies of the language, which is of great value in the programming world.

The most prominent feature of the book is its diligent and extremely thorough treatment of the Java language, with special attention to object design. (For instance, 10 pages of sample code show all of the available operators.) Some of the best thinking about objects is in this book, including when to use composition over inheritance. The esoteric details of Java in regard to defining classes are thoroughly laid out. (The material on interfaces, inner classes, and designing for reuse will please any expert.) Each section also has sample exercises that let you try out and expand your Java knowledge.

Besides getting the reader to "think in objects," Thinking in Java also covers other APIs in Java 2. Excellent sections include an in-depth tour of Java's collection and stream classes, and enterprise-level APIs like servlets, JSPs, EJBs, and RMI. Weighing in at over 1,000 pages, any reader who is serious about learning Java inside and out will want to take a look at this superior resource on some of the latest and most advanced thinking in object design. --Richard Dragan

Topics covered:

  • Object-design basics
  • Inheritance and polymorphism
  • Object lifetimes
  • Exception handling
  • Multithreading and persistence
  • Java on the Internet
  • Analysis and design basics
  • Java basics: keywords and flow control
  • Initializing objects
  • Garbage collection
  • Java packages
  • Designing for reuse: composition vs. inheritance
  • The final keyword
  • Interfaces and inner classes
  • Arrays and container classes

  • Java I/O classes
  • Run-time type identification
  • UI design basics with Swing
  • Deploying to JAR files
  • Network programming with sockets
  • JDBC database programming
  • Introduction to servlets
  • JavaServer Pages (JSPs)
  • RMI
  • Enterprise JavaBeans (EJBs) and Jini
  • Cloning objects
  • The Java Native Interface (JNI)
  • Java programming guidelines
  • 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 HTTP://WWW.BRUCEECKEL.COM

    JavaWorld Reader's Choice Award for best book, 2000
    Java Developer's Journal Editor's Choice Award for best book, 1999
    Software Development Magazine Productivity Award, 1999

    From the fundamentals of Java syntax to its most advanced features (distributed computing, advanced object-oriented capabilities, multithreading), "Thinking in Java" is designed to teach. Bruce Eckel's readable style and small, direct programming examples make even the most arcane concepts clear.

    • Java 2 only!
    • First edition covering Java 1 on CD ROM and downloadable from www.BruceEckel.com
    • For beginners and experts alike.
    • Teaches Java linguistics, not platform-dependent mechanics.
    • Thorough coverage of fundamentals, demonstrates advanced topics.
    • 300+ working Java programs, 15,000+ lines of code.
    • Source code on the CD and downloadable.
    • Explains sound object-oriented principles as they apply to Java.
    • From an independent voice, award-winning author Bruce Eckel.
    • Regular updates of this book available of this book available online.
    • Companion CD with more than 15 hours of audio lectures by Bruce Eckel available online.
    • Live seminars available. See schedule at www.BruceEckel.com

    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."


    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: 1128 pages
    • Publisher: Pearson Education; 2 edition (May 31, 2000)
    • Language: English
    • ISBN-10: 0130273635
    • ISBN-13: 978-0130273635
    • Product Dimensions: 6.9 x 1.7 x 9.2 inches
    • Shipping Weight: 3.6 pounds
    • Average Customer Review: 4.2 out of 5 stars  See all reviews (318 customer reviews)
    • Amazon Best Sellers Rank: #2,248,750 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

    What Other Items Do Customers Buy After Viewing This Item?