OO Design & Patterns
Bug Report Page
How to Tell which Printing You Have
On the copyright page (facing the first page of the
Preface), there is a printing history of the book. The printing history
is a
row of numbers that -- at the first printing -- looks like this:
10 9 8 7 6 5 4 3 2 1
At each subsequent printing, one number is removed from the end of this
row of
numbers to indicate which printing of the book you have. For example,
the last
number in the row of numbers in the second printing is 2
10 9 8 7 6 5 4 3 2
In the third printing, the last number is 3, and so on.
In the errata below, we indicate the edition in which the error
has been
fixed inside square brackets such as [3].
For example, suppose you have the third printing. Then you can ignore
all reports that are prefixed with [3] or [2]. But you would want to
pay
attention to all reports that are prefixed with [4] or higher or that
have no
bracketed prefix at all.
- [2] Page 5
- In step 4, change "the constructor parameter "Hello, World!""
to "the constructor parameter "World""
- [2] Page 17 line 15
- Change "edu.cs.cs151.alice.Greeter"
to "edu.sjsu.cs.cs151.alice.Greeter"
- [3] Page 18
- Figure 9 is potentially misleading. The arrow should point to the
directory that contains the edu directory. Here is a better
figure:

- [2] Page 24
- Change "int count"
to "int age"
- [3] Page 30 bottom and 31 top
- There should be another ...
just before the last closing }
in the class, to indicate missing methods:
public class Greeter
{
private String name;
// Listing private features first is not
a good idea
public Greeter(String aName)
{
...
}
...
}
- [3] Page 55
- Change "In Chapter 9, you will learn more" to "In Chapter 8, you will learn more"
- [3] Page 60
- Change "Figure 11 illustrates the add method of the Mailbox class" to "Figure 11
illustrates the add
method of the MessageQueue
class"
- [2] Page 95
- Change "is the same as d1" to "is the same as d2"
(2x)
- [3] Page 118
- In class Mailbox,
change public addMessage
to public void addMessage
- [3] Page 121
- In the last line, change compare
to compareTo
- [3] Page 137 Exercise 3.21
- Change java.util.File
to java.io.File
- [3] Page 140
- Change
"Hello, World!", //
message title
to
"Hello, World!", //
message
- [3] Page 142
- In class MyIcon,
change
public void paintIcon()
to
public void paintIcon(Component c, Graphics g, int x, int y)
- [3] Page 146
- In the first line, change icon.getIconWidth()
to anIcon.getIconWidth()
- Page 148
- The edges in Figure 7 from Rectangle2D.Double, Eclipse2D.Double
and Line2D.Double to Shape should be "implements" edges and not
inheritance edges.
- [3] Page 163
- In class ActionTest,
change FIELD_SIZE to FIELD_WIDTH
- [3] Page 191
- Change "Have a look at the preferredSize
computation" to "Have a look at the preferredLayoutSize computation"
- [2] Page 272 Figure 3
- Add a " after "Employee
- [3] Page 276 3rd line from bottom
- Change super.equals(other)
to super.equals(otherObject)
- [2] Page 319 Exercise 7.13
- Change formatFields to spyFields (2x)
- [2] Page 328
- Change "Any concrete collection class must ... of these
two
classes" to "Any concrete collection class must ... of these
two methods"
- [2] Page 350 SimpleGraphEditor.java
- Change "... for editing UML diagrams" to "... for
editing simple
graphs"
- [2] Page 350 CircleNode.java
- Remove the line @param
size the size.
- [3] Page 418 Ch10/visitor/VisitorTest.java line 7
- Change
DirectoryNode node = new
DirectoryNode(new File(".."));
to
FileSystemNode node = new
DirectoryNode(new File(".."));
Thanks to Marcello Dalpasso, Dale Feiste, Christopher Fuhrman,
Laurie Hendren, Evelyn Obaid, Ned Okie,
Peter D. Rosenbaum, Vern Sterba, Robert
Stroud and
(your name
could go here...)
for their bug
reports and suggestions
Please report any remaining bugs in this edition on the bug report form.