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.
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
Bruce
Eckel
President,
MindView Inc.
Prentice
Hall PTR
Upper
Saddle River, New Jersey 07458
http://www.phptr.comLibrary
of Congress Cataloging-in-Publication Data
Thinking in Java / Bruce Eckel.
1. Java (Computer program language) I. Title.
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