Enter your mobile number or email address 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.

  • Apple
  • Android
  • Windows Phone
  • Android

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

Thinking in Java (2nd Edition) 2nd Edition

4.1 out of 5 stars 129 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.
55 Used from $0.50
More Buying Choices
10 New from $8.99 55 Used from $0.50

There is a newer edition of this item:

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

Save Up to 90% on Textbooks Textbooks

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


    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.1 out of 5 stars  See all reviews (129 customer reviews)
    • Amazon Best Sellers Rank: #2,432,895 in Books (See Top 100 in Books)

    Customer Reviews

    Top Customer Reviews

    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 of 175 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 45 of 48 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 of 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
    Format: Paperback
    I found Thinking in Java to be an extremely readable book. I read the book pretty much cover to cover and by the time I'd finished I found myself quite comfortable with the concepts in Java. A couple of years of programming in it and I've never felt that I was disillusioned by that (as often turns out when you start actually using something that you think you know).
    Learning the syntax of a language is the easy part -- the hard part is understanding why things are done in certain ways and how to best utilize the language features, and I felt this book did a great job of explaining that.
    I'm amazed looking through the vastly differing opinions on this book -- so perhaps the best advice is to flip through the pages at a bookstore and see if you like the writing style or not. Or, perhaps look through the table of contents and see if the chapter titles are the types of things you're looking for. My guess is that perhaps this isn't a good book for people who have never programmed before. A few notes from the book's prerequisite section on this:
    "This book assumes that you have some programming familiarity: you understand that a program is a collection of statements, the idea of a subroutine/function/macro, control statements such as 'if' and looping constructs such as 'while,' etc... As long as you've programmed to the point where you feel comfortable with the basic ideas of programming, you'll be able to work through this book. Of course, the book will be easier for the C programmers and more so for the C++ programmers, but don't count yourself out if you're not experienced with those languages (but come willing to work hard)."
    (Wouldn't it be nice if amazon could list prerequisite sections for all of their technical books??)
    Comment 27 of 28 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?