Errata List for
Understanding Object-Oriented Programming with Java

by Timothy A. Budd

Published by Addison-Wesley Longman

15first line, program=>problem (ss)
348First sentence in Summary, design => analysis and design (rw)
453code line 4, Your => My (rw)
457System is defined in java.lang, not (footnote) (jh)
460closing curly brackets have improper alignment (rw)
570Parg. 4, Line 17 => Line 16 (mm)
573Statement that window can be resized is confusing (footnote) (tg)
576closing curly brackets misaligned (rw)
6826.1, 2nd Parag, intValue) => intValue() (mm)
6852nd call on drawLine, ln => lh (ns)
686GravityEffect should be double (rw)
690line -1, defined => implemented (rw)
7100line -14, newElement => addElement (rw)
7108tread => thread (6 lines from bottom) (jt)
7110Inconsistent capitization in literal strings(jt)
7112line -7, mouseDown => mousePressed (rw)
7112line -6, line -7, procedure => method (ab)
7113See footnote
7115mouseReleased, must use e to call getX and getY(tg)
7116Question 3, command => method (rw)
7117Exercise 5, in the pallet => on the pallet (rw)
8122getClass returns Class, not String (jh)
10166line 8, theData.size() => size() (mk)
10169line -9, argument and type => argument any type (wb)
10171class AdulltFrogBehavior should extend FrogBehavior, not Behavior (wb)
11185Line -1, remove that (rw)
11189Exercise 2 has already been answered (rw)
12194code should not extend, should match page 153 (wb)
12202Line -9, initial => init (rw)
12202Line -1, Circle => aCircle (rw)
12210Reference should be to page 222, not 223 (tg)
13205getClass returns Class, not String (jh)
13206enable, disable replaced by SetEnabled(boolean) (jh)
13208repaint(Graphics) => should have no argument (tor) =>, "Two") (jh)
132113 lines from bottom, comment wrong, top=>bottom(nd)
13212Replace doIt with DoIt (rw)
13212Closing curly braces misalligned (rw)
13213Closing curly braces misalligned (rw)
13223Closing curly braces misalligned (rw)
13228mbar => mBar and mitem => mItem througout (rw)
13228Closing curly braces misalligned (rw)
14231Sec 14.1, a virtual => an abtract (rw)
15246Sec 15.2, Gamma calls this Composite, Not Composition (rw)
16260fileOpenFailed => FileOpenFailed (rw)
16262Spurious curly bracket in front of catch (rw)
172691st line, missing z in getTimezoneOffset (but see footnote) (wb)
18281number of colors is 2*24, not 2*512 (es)
203242nd par, line 3, class => method (tg)
20326Runable=>Runnable (two n's) occurs more than once(tl)
21343Line -12, should be destroy(), not exit() (rw)
Glos356Under Protocol, no entry for Class Description Protocol (rw)
IndexWikstrom, Ake should have accents (Wikström, Åke) (Öp)


Changes in painting Protocol
Note that the lastest revision of Swing (version 1.3) has made dramatic changes to the painting protocol. One no longer should override paint, for example, but instead override paintComponent. See for further information.

import statements (Page 57)
To clarify the error on page 57, actually System is found in Java.lang (which does not ever need to be imported) but the printstream to which println copies is found in Nevertheless, the import statement is not necessary, since the variable is only being used, not declared. The reason for this error is perhaps more relevant: I was trying to find a simple example where it would be necessary to use an import statement. An author constantly walks a tightrope between precision and confusion, where too much precision will undoubtedly confuse the beginning student.

Ray Weedon (rw) suggests replacing this with import java.lang.*, and a footnote saying this is optional.

Resizing windows (Page 75)
While the statement that the window can be resized is true, it is perhaps confusing to the novice users. Since the bounding box size checked by the balls is set by static final variables and not changed, altering the window size will not alter the behavior of the balls.

Inner Classes (Page 113)
Andrew Black found his students confused about the binding of the method repaint in the code on page 113, and wrote up a short web page to explain.

class Date (Page 269)
However, the typo on page 269 is really irrelevant, as the entire class as been deprecated in the move to Java 1.2.

Misc Links

Grateful Acknowledgement

One or more of the errors reported above were found by the following individuals:
Walter Beck, Assoc. Prof., Computer Science, University of Northern Iowa.
Andrew Black, Professor and Chair, Department of Computer Science and Engineering, Oregon Graduate Institute
Nam Dang, Millennium Pharmaceuticals, Inc.
Thomas Gross, Computer Science, Carnege-Mellon University
Jon Heggland, Forsvarets Forskningsinstitutt, Norway.
Mattias Karlström, Student, Kungl Tekniska Högskolan (Royal Institute of Technology), Stokholm, Sweden.
Thomas Larsson, Lecturer Mälardalens Högskola (Mälardalen University), Sweden.
Prof. Tor Lønnestad, Department of informatics and mathematics, Telemark College, Norway
Mark Morrissey, Director of Special Projects, the Oregon Graduate Institute, Department of Computer Science and Engineering
Örjan Petersson, Asnières-lès-Dijon, France
Eyal Shifroni, Center for Educational Technology, Israel.
Neal Smith, Instructor, Department of Computer Science, Oregon State University
Shoichi Shibata, Dr.Sci.: College of Engineering, Chubu Univ.
John A. Trono, Associate Professor of Computer Science, St. Michael's College.
Ray Weedon, Open University, UK.

Where to Write

Send all reports of errors or typos to Professor Budd at

Last Modified: