> >   "Aliasing and its solution is a complex issue and, although you must
> >   wait until Chapter 12 for all the answers, you should be aware of it at
> >   this point so you can watch for pitfalls."
> >
> In context, I think this is a reasonable statement. Aliasing has
> many meanings in computing. I think he means "assigning two pointers
> to designate the same heap block." This _is_ difficult to get right.

Well, to put it "in context," I offer the following admittedly UNFAIR
summary of Eckel's three pages:

  In Java, you must remember that the normal assignment syntax does not
  have the most intuitive meaning because of aliasing of objects.  And you
  have to remember that everything's an object--except when it's a
  primitive.  That's all you have to know for now.  Just don't assign
  anything except primitives until I tell you how in chapter 12.  If you
  really think you can't do any useful work without assignment, assign the
  fields of the object, as in "obj1.f = obj2.f"  But don't get too
  attached to that technique, because (don't ask why) I assure you that
  mentioning a field of an object is not the OO way to do things.

To put my question another way, "How many languages require three pages to
introduce the concept of assignment?"