Only one object is created from lines 2-6. That's what the "new" operation does. As far as object allocation is concerned, in this case the fact that it is an anonymous class is not important. It is not different from "String p = new
String;".
Now, if you had simply done an inner class (not anonymous with the new operator), or a static inner class, then the object allocation wouldn't happen until explicitly called by a client:
Nathaniel Stodard<br />SCJP, SCJD, SCWCD, SCBCD, SCDJWS, ICAD, ICSD, ICED