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.”
“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.”
“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.”
“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++.”
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:
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