Source code

Bruce Eckel’s Thinking in Java Contents | Prev | Next

the source code for this book is available as copyrighted freeware, distributed
as a single package, by visiting the Web site
To make sure that you get the most current version, this is the official site
for distribution of the code and the electronic version of the book. You can
find mirrored versions of the electronic book and the code on other sites (some
of these sites are found at,
but you should check the official site to ensure that the mirrored version is
actually the most recent edition. You may distribute the code in classroom and
other educational situations.

primary goal of the copyright is to ensure that the source of the code is
properly cited, and to prevent you from republishing the code in print media
without permission. (As long as the source is cited, using examples from the
book in most media is generally not a problem.)

// Copyright (c) Bruce Eckel, 1998
// Source code file from the book "Thinking in Java"
// All rights reserved EXCEPT as allowed by the
// following statements: You can freely use this file
// for your own work (personal or commercial),
// including modifications and distribution in
// executable form only. Permission is granted to use
// this file in classroom situations, including its
// use in presentation materials, as long as the book
// "Thinking in Java" is cited as the source. 
// Except in classroom situations, you cannot copy
// and distribute this code; instead, the sole
// distribution point is 
// (and official mirror sites) where it is
// freely available. You cannot remove this
// copyright and notice. You cannot distribute
// modified versions of the source code in this
// package. You cannot use this file in printed
// media without the express permission of the
// author. Bruce Eckel makes no representation about
// the suitability of this software for any purpose.
// It is provided "as is" without express or implied
// warranty of any kind, including any implied
// warranty of merchantability, fitness for a
// particular purpose or non-infringement. The entire
// risk as to the quality and performance of the
// software is with you. Bruce Eckel and the
// publisher shall not be liable for any damages
// suffered by you or any third party as a result of
// using or distributing software. In no event will
// Bruce Eckel or the publisher be liable for any
// lost revenue, profit, or data, or for direct,
// indirect, special, consequential, incidental, or
// punitive damages, however caused and regardless of
// the theory of liability, arising out of the use of
// or inability to use software, even if Bruce Eckel
// and the publisher have been advised of the
// possibility of such damages. Should the software
// prove defective, you assume the cost of all
// necessary servicing, repair, or correction. If you
// think you've found an error, please email all
// modified files with clearly commented changes to:
// [email protected] (Please use the same
// address for non-code errors found in the book.)


the text of this book, identifiers (function, variable and class names) will be
set in
Most keywords will also be set in bold, except for those keywords that are used
so much that the bolding can become tedious, such as “class.”

More by Author

Must Read