Thinking in Java | CodeGuru

Thinking in Java

Bruce Eckel’s Thinking in Java Contents | Prev | Next Thinking in Java Bruce Eckel Comments from readers: 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 […]

Written By
CodeGuru Staff
CodeGuru Staff
Mar 1, 2001
14 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Thinking

in

Java

Bruce


Eckel

Comments


from readers:

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

One


of the absolutely best programming tutorials I’ve seen for any language.


Joakim
Ziegler, FIX sysop

Thank


you for your wonderful, wonderful book on Java.


Dr.
Gavin Pillay, Registrar, King Edward VIII Hospital, South Africa

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.

The


best computer book writing I have seen.


Tom
Holland

This


is one of the best books I’ve read about a programming language


Chapter 16 on design patterns is one of the most interesting things I’ve


read in a long time.


Ilan
Finci, graduate student and teaching assistant, Institute of Computer Science,
The Hebrew University of Jerusalem, Israel

The


best book ever written on Java.


Ravindra
Pai, Oracle Corporation, SUNOS product line

This


is the best book on Java that I have ever found! You have done a great job.


Your depth is amazing. I will be purchasing the book when it is published. I


have been learning Java since October 96. I have read a few books, and consider


yours a “MUST READ.” These past few months we have been focused on


a product written entirely in Java. Your book has helped solidify topics I was


shaky on and has expanded my knowledge base. I have even used some of your


explanations as information in interviewing contractors to help our team. I


have found how much Java knowledge they have by asking them about things I have


learned from reading your book (e.g. the difference between arrays and


Vectors). Your book is great!


Steve
Wilkinson, Senior Staff Specialist, MCI Telecommunications

Great


book. Best book on Java I have seen so far.


Jeff
Sinclair, Software Engineer, Kestral Computing

Thank


you for


Thinking
in Java

.


It’s time someone went beyond mere language description to a thoughtful,


penetrating analytic tutorial that doesn’t kowtow to The Manufacturers.


I’ve read almost all the others–only yours and Patrick


Winston’s have found a place in my heart. I’m already recommending


it to customers. Thanks again.


Richard
Brooks, Java Consultant, Sun Professional Services, Dallas

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

Thanks


for writing a great book. The more I read it the better I like it. My students


like it, too.


Chuck
Iverson

I


just want to commend you for your work on


Thinking
in Java

.


It is people like you that dignify the future of the Internet and I just want


to thank you for your effort. It is very much appreciated.


Patrick
Barrell, Network Officer Mamco-QAF Mfg. Inc.

Most


of the Java books out there are fine for a start, and most just have beginning


stuff and a lot of the same examples. Yours is by far the best advanced


thinking book I’ve seen. Please publish it soon!

I also bought


Thinking
in C++

just because I was so impressed with


Thinking
in Java

.


George
Laframboise, LightWorx Technology Consulting, Inc.

I


wrote to you earlier about my favorable impressions regarding your


Thinking
in C++

(a book that stands prominently on my shelf here at work). And today I’ve


been able to delve into Java with your e-book in my virtual hand, and I must


say (in my best Chevy Chase from “Modern Problems”) “I like


it!” Very informative and explanatory, without reading like a dry


textbook. You cover the most important yet the least covered concepts of Java


development: the whys.


Sean
Brady

Your


examples are clear and easy to understand. You took care of many important


details of Java that can’t be found easily in the weak Java


documentation. And you don’t waste the reader’s time with the basic


facts a programmer already knows.


Kai
Engert, Innovative Software, Germany

I’m


a great fan of your


Thinking
in C++

and have recommended it to associates. As I go through the electronic version


of your Java book, I’m finding that you’ve retained the same high


level of writing. Thank you!


Peter
R. Neuwald

VERY


well-written Java book

I think you’ve done a GREAT job on it. As the


leader of a Chicago-area Java special interest group, I’ve favorably


mentioned your book and website several times at our recent meetings. I would


like to use


Thinking
in Java

as the basis for a part of each monthly SIG meeting, in which we review and


discuss each chapter in succession.


Mark
Ertes

I


really appreciate your work and your book is good. I recommend it here to our


users and Ph.D. students.


Hugues
Leroy // Irisa-Inria Rennes France, Head of Scientific Computing and Industrial
Tranfert

OK,


I’ve only read about 40 pages of


Thinking
in Java

,


but I’ve already found it to be the most clearly-written and presented


programming book I’ve come across

and I’m a writer, myself, so


I am probably a little critical. I have


Thinking
in C++

on order and can’t wait to crack it – I’m fairly new to


programming and am hitting learning curves head-on everywhere. So this is just


a quick note to say thanks for your excellent work. I had begun to burn a


little low on enthusiasm from slogging through the mucky, murky prose of most


computer books – even ones that came with glowing recommendations. I feel


a whole lot better now.


Glenn
Becker, Educational Theatre Association

Thank


you for making your wonderful book available. I have found it immensely useful


in finally understanding what I experienced as confusing in Java and C++.


Reading your book has been very satisfying.


Felix
Bizaoui, Twin Oaks Industries, Louisa, Va.

I


must congratulate you on an excellent book. I decided to have a look at


Thinking
in Java

based on my experience with


Thinking
in C++

,


and I was not disappointed.


Jaco
van der Merwe, Software Specialist, DataFusion Systems Ltd, Stellenbosch, South
Africa

This


has to be one of the best Java books I’ve seen.


E.F.
Pritchard, Senior Software Engineer, Cambridge Animation Systems Ltd., United
Kingdom

Your


book makes all the other Java books I’ve read or flipped through seem


doubly useless and insulting.


Brett
g Porter, Senior Programmer, Art & Logic

I


have been reading your book for a week or two and compared to the books I have


read earlier on Java, your book seems to have given me a great start. I have


recommended this book to lot of my friends and they have rated it excellent.


Please accept my congratulations for coming out with an excellent book.


Rama
Krishna Bhupathi, Software Engineer, TCSI Corporation, San Jose

Just


wanted to say what a “brilliant” piece of work your book is.


I’ve been using it as a major reference for in-house Java work. I find


that the table of contents is just right for quickly locating the section that


is required. It’s also nice to see a book that is not just a rehash of


the API nor treats the programmer like a dummy.


Grant
Sayer, Java Components Group Leader, Ceedata Systems Pty Ltd, Australia

Wow!


A readable, in-depth Java book. There are a lot of poor (and admittedly a


couple of good) Java books out there, but from what I’ve seen yours is


definitely one of the best.


John
Root, Web Developer, Department of Social Security, London

I’ve


*just* started


Thinking
in Java

.


I expect it to be very good because I really liked


Thinking
in C++

(which I read as an experienced C++ programmer, trying to stay ahead of the


curve). I’m somewhat less experienced in Java, but expect to be very


satisfied. You are a wonderful author.


Kevin
K. Lewis, Technologist, ObjectSpace, Inc.

I


think it’s a great book. I learned all I know about Java from this book.


Thank you for making it available for free over the Internet. If you


wouldn’t have I’d know nothing about Java at all. But the best


thing is that your book isn’t a commercial brochure for Java. It also


shows the bad sides of Java. YOU have done a great job here.


Frederik
Fix, Belgium

I


have been hooked to your books all the time. A couple of years ago, when I


wanted to start with C++, it was


C++
Inside & Out

which took me around the fascinating world of C++. It helped me in getting


better opportunities in life. Now, in pursuit of more knowledge and when I


wanted to learn Java, I bumped into


Thinking
in Java

– No doubts in my mind as to whether I need some other book. Just


fantastic. It is more like rediscovering myself as I get along with the book.


It is just a month since I started with Java, and heartfelt thanks to you, I am


understanding it better now.


Anand
Kumar S. – Software Engineer – Computervision, India

Your


book stands out as an excellent general introduction.


Peter
Robinson, University of Cambridge Computer Laboratory

It’s


by far the best material I have come across to help me learn Java and I just


want you to know how lucky I feel to have found it. THANKS!


Chuck
Peterson, Product Leader, Internet Product Line, IVIS International

The


book is great. It’s the third book on Java I’ve started and


I’m about two-thirds of the way through it now. I plan to finish this


one. I found out about it because it is used in some internal classes at Lucent


Technologies and a friend told me the book was on the Net. Good work.


Jerry
Nowlin, MTS, Lucent Technologies

Of


the six or so Java books I’ve accumulated to date, your


Thinking
in Java

is by far the best and clearest.


Michael
Van Waas, Ph.D., President, TMR Associates

I


just want to say thanks for


Thinking
in Java

.


What a wonderful book you’ve made here! Not to mention downloadable for


free! As a student I find your books invaluable (I have a copy of


C++
Inside Out

,


another great book about C++), because they not only teach me the how-to, but


also the whys, which are of course very important in building a strong


foundation in languages such as C++ or Java. I have quite a lot of friends here


who love programming just as I do, and I’ve told them about your books.


They think it’s great! Thanks again! By the way, I’m Indonesian and


I live in Java.


Ray
Frederick Djajadinata, Student at Trisakti University, Jakarta

The


mere fact that you have made this work free over the Net puts me into shock. I


thought I’d let you know how much I appreciate and respect what


you’re doing.


Shane
LeBouthillier, Computer Engineering student, University of Alberta, Canada

I


have to tell you how much I look forward to reading your monthly column. As a


newbie to the world of object oriented programming, I appreciate the time and


thoughtfulness that you give to even the most elementary topic. I have


downloaded your book, but you can bet that I will purchase the hard copy when


it is published. Thanks for all of your help.


Dan
Cashmer, B. C. Ziegler & Co.

Just


want to congratulate you on a job well done. First I stumbled upon the PDF


version of


Thinking
in Java

.


Even before I finished reading it, I ran to the store and found


Thinking
in C++

.


Now, I have been in the computer business for over eight years, as a


consultant, software engineer, teacher/trainer, and recently as self-employed,


so I’d like to think that I have seen enough (not “have seen it


all,” mind you, but enough). However, these books cause my girlfriend to


call me a ”geek.” Not that I have anything against the concept

it


is just that I thought this phase was well beyond me. But I find myself truly


enjoying both books, like no other computer book I have touched or bought so


far. Excellent writing style, very nice introduction of every new topic, and


lots of wisdom in the books. Well done.


Simon
Goland, simonsez@smartt.com, Simon Says Consulting, Inc.

I


must say that your


Thinking
in Java

is great! That is exactly the kind of documentation I was looking for.


Especially the sections about good and poor software design using Java 1.1.


Dirk
Duehr, Lexikon Verlag, Bertelsmann AG, Germany

Thank


you for writing two great books (


Thinking
in C++

,


Thinking
in Java

).


You have helped me immensely in my progression to object oriented programming.


Donald
Lawson, DCL Enterprises

Thank


you for taking the time to write a really helpful book on Java. If teaching


makes you understand something, by now you must be pretty pleased with yourself.


Dominic
Turner, GEAC Support

It’s


the best Java book I have ever read

and I read some.


Jean-Yves
MENGANT, Chief Software Architect NAT-SYSTEM, Paris, France
Thinking
in Java

gives the best coverage and explanation. Very easy to read, and I mean the code


fragments as well.


Ron
Chan, Ph.D., Expert Choice, Inc., Pittsburgh PA

Your


book is great. I have read lots of programming books and your book still adds


insights to programming in my mind.


Ningjian
Wang, Information System Engineer, The Vanguard Group
Thinking
in Java

is an excellent and readable book. I recommend it to all my students.


Dr.
Paul Gorman, Department of Computer Science, University of Otago, Dunedin, New
Zealand

You


make it possible for the proverbial free lunch to exist, not just a soup


kitchen type of lunch but a gourmet delight for those who appreciate good


software and books about it.


Jose
Suriol, Scylax Corporation

Thanks


for the opportunity of watching this book grow into a masterpiece! IT IS THE


BEST book on the subject that I’ve read or browsed.


Jeff
Lapchinsky, Programmer, Net Results Technologies

Your


book is concise, accessible and a joy to read.


Keith
Ritchie, Java Research & Development Team, KL Group Inc.

It


truly is the best book I’ve read on Java!


Daniel
Eng

The


best book I have seen on Java!


Rich
Hoffarth, Senior Architect, West Group

Thank


you for a wonderful book. I’m having a lot of fun going through the


chapters.


Fred
Trimble, Actium Corporation

You


have mastered the art of slowly and successfully making us grasp the details.


You make learning VERY easy and satisfying. Thank you for a truly wonderful


tutorial.


Rajesh
Rau, Software Consultant
Thinking
in Java

rocks the free world!


Miko
O’Sullivan, President, Idocs Inc.
About
Thinking
in C++
: Best
Book! Winner of the

1995
Software Development Magazine Jolt Award!

“This


book is a tremendous achievement. You owe it to yourself to have a copy on your


shelf. The chapter on iostreams is the most comprehensive and understandable


treatment of that subject I’ve seen to date.”

Al
Stevens

Contributing
Editor,
Doctor
Dobbs Journal

“Eckel’s


book is the only one to so clearly explain how to rethink program construction


for object orientation. That the book is also an excellent tutorial on the ins


and outs of C++ is an added bonus.”

Andrew
Binstock

Editor,
Unix
Review

“Bruce


continues to amaze me with his insight into C++, and Thinking in C++ is his


best collection of ideas yet. If you want clear answers to difficult questions


about C++, buy this outstanding book.”

Gary
Entsminger

Author,
The
Tao of Objects

“Thinking


in C++ patiently and methodically explores the issues of when and how to use


inlines, references, operator overloading, inheritance, and dynamic objects, as


well as advanced topics such as the proper use of templates, exceptions and


multiple inheritance. The entire effort is woven in a fabric that includes


Eckel’s own philosophy of object and program design. A must for every C++


developer’s bookshelf, Thinking in C++ is the one C++ book you must have


if you’re doing serious development with C++.”

Richard
Hale Shaw

Contributing
Editor, PC Magazine

Thinking

in

Java

Bruce


Eckel

President,
MindView Inc.

Prentice


Hall PTR

Upper
Saddle River, New Jersey 07458

http://www.phptr.comLibrary
of Congress Cataloging-in-Publication Data

Eckel,
Bruce.

Thinking in Java / Bruce Eckel.

p. cm.

Includes index.

ISBN 0-13-659723-8

1. Java (Computer program language) I. Title.

QA76.73.J38E25 1998

005.13'3--dc21 97-52713

CIP
Editorial/Production
Supervision:

Craig


Little

Acquisitions
Editor:
Jeffrey
Pepper

Manufacturing
Manager:
Alexis
R. Heydt

Marketing
Manager:
Miles
Williams

Cover
Design Director:
Jerry
Votta

Cover
Design:
Daniel
Will-Harris

Interior
Design:
Daniel
Will-Harris, www.will-harris.com

©


1998 by Prentice Hall PTR

Prentice-Hall
Inc.

A
Simon & Schuster Company

Upper
Saddle River, NJ 07458

The


information in this book is distributed on an “as is” basis,


without warranty. While every precaution has been taken in the preparation of


this book, neither the author nor the publisher shall have any liability to any


person or entitle with respect to any liability, loss or damage caused or


alleged to be caused directly or indirectly by instructions contained in this


book or by the computer software or hardware products described herein.

All


rights reserved. No part of this book may be

reproduced,
in any form or by any means, without

permission
in writing from the publisher.

Prentice


Hall books are widely used by corporations and government agencies for


training, marketing, and resale. The publisher offers discounts on this book


when ordered in bulk quantities. For more information, contact the Corporate


Sales Department at 800-382-3419, fax: 201-236-7141, email:


mailto:corpsales@prenhall.com

or write: Corporate Sales Department, Prentice Hall PTR, One Lake Street, Upper


Saddle River, New Jersey 07458.

Java


is a registered trademark of Sun Microsystems, Inc. Windows 95 and Windows NT


are trademarks of Microsoft Corporation. All other product names and company


names mentioned herein are the property of their respective owners.

Printed


in the United States of America

10
9 8 7 6 5 4 3 2 1

ISBN
0-13-659723-8

Prentice-Hall
International (UK) Limited,
London

Prentice-Hall
of Australia Pty. Limited,
Sydney

Prentice-Hall
Canada Inc.,
Toronto

Prentice-Hall
Hispanoamericana, S.A.,
Mexico

Prentice-Hall
of India Private Limited,
New
Delhi

Prentice-Hall
of Japan, Inc.,
Tokyo

Simon
& Schuster Asia Pte. Ltd.,
Singapore

Editora
Prentice-Hall do Brasil, Ltda.,
Rio
de Janeiro

Contents

|

Prev

|

Next
CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.