Thinking in Java, 2nd ed. Revision 11 - Index


, ! , , & , > , < , + , - , 1 , = , @ , A , B , C , D , E , F , G , H , I , J , K , L , M , N , O , P , Q , R , S , T , U , V , W , X , Y , Z , [ , ^ , |


boolean
operators that won’t work with boolean, 1
javac , 1
!

!, 1
!=, 1
operator, 1

‘+’
operator + for String, 1
&

&, 1
&&, 1
&=, 1
>

>, 1
>>, 1
>>=, 1
>=, 1
<

<, 1
<<, 1
<<=, 1
<=, 1
+

+, 1
-

-, 1
1

1.localhost
and RMI, 1
=

==, 1
operator, 1
vs. equals( ), 1
@

@deprecated, 1
A

abstract
class, 1
inheriting from an abstract class, 1
vs. interface, 1
abstract keyword, 1
Abstract Window Toolkit (AWT), 1
AbstractButton, 1
abstraction, 1
AbstractSequentialList, 1
AbstractSet, 1
accept( ), 1
access
class, 1
control, 1, 2
inner classes & access rights, 1
package access and friendly, 1
specifiers, 1, 2, 3
within a directory, via the default package, 1
action command, 1
ActionEvent, 1, 2
ActionListener, 1
actor, in use cases, 1
adapters
listener adapters, 1
add( ), ArrayList, 1
addActionListener( ), 1, 2
addChangeListener, 1
addition , 1
addListener, 1
addXXXListener( ), 1
Adler32, 1
aggregate array initialization, 1
aggregation, 1
aliasing, 1
and String, 1
during a method call, 1
align, 1
alphabetic vs. lexicographic sorting, 1
AlreadyBoundException, 1
analysis
and design, object-oriented, 1
paralysis, 1
requirements analysis, 1
AND
bitwise, 1
logical (&&), 1
anonymous inner class, 1, 2, 3, 4
and constructors, 1
anonymous inner class, and table-driven code, 1
applet, 1
advantages for client/server systems, 1
align, 1
and packages, 1
archive tag, for HTML and JAR files, 1
classpath, 1
codebase, 1
combined applets and applications, 1
combined with application, 1
displaying a Web page from within an applet, 1
initialization parameters, 1
name, 1
packaging applets in a JAR file to optimize loading, 1
parameter, 1
placing inside a Web page, 1
restrictions, 1
appletviewer, 1
application
application builder, 1
application framework, 1
combined applets and applications, 1
combined with Applet, 1
windowed applications, 1
application framework, and applets, 1
archive tag, for HTML and JAR files, 1
argument
constructor, 1
final, 1, 2
passing a reference into a method, 1
variable argument lists (unknown quantity and type of arguments), 1
array, 1
associative array, 1
associative array, Map, 1
bounds checking, 1
comparing arrays, 1
copying an array, 1
dynamic aggregate initialization syntax, 1
element comparisons, 1
first-class objects, 1
initialization, 1
length, 1, 2
multidimensional, 1
of objects, 1
of primitives, 1
return an array, 1
ArrayList, 1, 2, 3, 4, 5
add( ), 1
and deep copying, 1
get( ), 1, 2
size( ), 1
type-conscious ArrayList, 1
used with HashMap, 1
Arrays class, container utility, 1
Arrays.asList( ), 1
Arrays.binarySearch( ), 1
Arrays.fill( ), 1
assigning objects, 1
assignment, 1
associative array, 1, 2
associative arrays (Maps), 1
auto-decrement operator, 1
auto-increment operator, 1
automatic type conversion, 1
available( ), 1
B

bag, 1
base
types, 1
base 16, 1
base 8, 1
base class, 1, 2, 3
abstract base class, 1
base-class interface, 1
constructor, 1
constructors and exceptions, 1
initialization, 1
Basic
Microsoft Visual Basic, 1
basic concepts of object-oriented programming (OOP), 1
BASIC language, 1
BasicArrowButton, 1
beanbox Bean testing tool, 1
BeanInfo
custom BeanInfo, 1
Beans
and Borland’s Delphi, 1
and Microsoft’s Visual Basic, 1
and multithreading, 1
application builder, 1
beanbox Bean testing tool, 1
bound properties, 1
component, 1
constrained properties, 1
custom BeanInfo, 1
custom property editor, 1
custom property sheet, 1
events, 1
EventSetDescriptors, 1
FeatureDescriptor, 1
getBeanInfo( ), 1
getEventSetDescriptors( ), 1
getMethodDescriptors( ), 1
getName( ), 1
getPropertyDescriptors( ), 1
getPropertyType( ), 1
getReadMethod( ), 1
getWriteMethod( ), 1
indexed property, 1
Introspector, 1
JAR files for packaging, 1
manifest file, 1
Method, 1
MethodDescriptors, 1
naming convention, 1
properties, 1
PropertyChangeEvent, 1
PropertyDescriptors, 1
ProptertyVetoException, 1
reflection, 1, 2
Serializable, 1
visual programming, 1
Beck, Kent, 1
Bill Joy, 1
binary
numbers, 1
operators, 1
binary numbers, printing, 1
binarySearch( ), 1
bind( ), 1
binding
dynamic binding, 1
dynamic, late, or run-time binding, 1
early, 1
late, 1
late binding, 1
method call binding, 1
run-time binding, 1
BitSet, 1
bitwise
AND, 1
AND operator (&), 1
EXCLUSIVE OR XOR (^), 1
NOT ~, 1
operators, 1
OR, 1
OR operator (|), 1
bitwise copy, 1
blank final, 1
blocking
and available( ), 1
and threads, 1
on I/O, 1
Booch, Grady, 1
book
errors, reporting, 1
updates of the book, 1
Boolean, 1
algebra, 1
and casting, 1
vs. C and C++, 1
BorderLayout, 1
Borland, 1
Delphi, 1
bound properties, 1
bounds checking, array, 1
Box, for BoxLayout, 1
BoxLayout, 1
break keyword, 1
browser
class browser, 1
BufferedInputStream, 1
BufferedOutputStream, 1
BufferedReader, 1, 2, 3
BufferedWriter, 1, 2
business objects/logic, 1
button
creating your own, 1
radio button, 1
button, Swing, 1
ButtonGroup, 1, 2
buttons, 1
ByteArrayInputStream, 1
ByteArrayOutputStream, 1
C

C++, 1
copy constructor, 1
Standard Container Library aka STL, 1
strategies for transition to, 1
templates, 1
vector class, vs. array and ArrayList, 1
why it succeeds, 1
C/C++, interfacing with, 1
callback, 1, 2, 3
callbacks
and inner classes, 1
capacity, of a HashMap or HashSet, 1
capitalization
Java capitalization style source-code checking tool, 1
of package names, 1
case statement, 1
cast, 1, 2, 3
and containers, 1
and primitive types, 1
from float or double to integral, truncation, 1
operators, 1
catch
catching an exception, 1
catching any exception, 1
keyword, 1
CD ROM for book, 1
CGI
Common-Gateway Interface, 1
change
vector of change, 1
CharArrayReader, 1
CharArrayWriter, 1
check box, 1
CheckedInputStream, 1
CheckedOutputStream, 1
Checksum, 1
class, 1, 2, 3
abstract class, 1
access, 1
anonymous inner, 1
anonymous inner class, 1, 2, 3
anonymous inner class and constructors, 1
base class, 1, 2, 3
browser, 1
class hierarchies and exception handling, 1
class literal, 1, 2
Class object, 1, 2, 3
creators, 1
defining the interface, 1
derived class, 1
equivalence, and instanceof/isInstance( ), 1
final classes, 1
forName( ), 1, 2
getClass( ), 1
getConstructors( ), 1
getInterfaces( ), 1
getMethods( ), 1
getName( ), 1
getSuperclass( ), 1
inheritance diagrams, 1
inheriting from an abstract class, 1
inheriting from inner classes, 1
initialization & class loading, 1
initialization of data members, 1
initializing members at point of definition, 1
initializing the base class, 1
inner class, 1
inner class nesting within any arbitrary scope, 1
inner classes, 1
inner classes & access rights, 1
inner classes and overriding, 1
inner classes and super, 1
inner classes and Swing, 1
inner classes and upcasting, 1
inner classes in methods & scopes, 1
inner classes, identifiers and .class files, 1
instance of, 1
intializing the derived class, 1
isInstance, 1
isInterface( ), 1
keyword, 1
loading, 1
member initialization, 1
multiply-nested, 1
newInstance( ), 1
order of initialization, 1
printInfo( ), 1
private inner classes, 1
public class, and compilation units, 1
read-only classes, 1
referring to the outer class object in an inner class, 1
RTTI using the Class object, 1
static inner classes, 1
style of creating classes, 1
subobject, 1
Class object, 1
class-responsibility-collaboration (CRC) cards, 1
ClassCastException, 1, 2
classpath, 1, 2
and rmic, 1
cleanup
and garbage collector, 1
performing, 1
with finally, 1
cleanup, guaranteeing with finalize( ), 1
client programmer, 1
vs. library creator, 1
client, network, 1
clipboard
system clipboard, 1
clone( ), 1
and composition, 1
and inheritance, 1
Object.clone( ), 1
removing/turning off cloneability, 1
super.clone( ), 1, 2
supporting cloning in derived classes, 1
Cloneable interface, 1
CloneNotSupportedException, 1
close( ), 1
closure, and inner classes, 1
code
calling non-Java code, 1
coding standards, 1, 2
organization, 1
re-use, 1
codebase, 1
Collection, 1
collection class, 1
Collections, 1
Collections.enumeration( ), 1
Collections.fill( ), 1
Collections.reverseOrder(), 1
collision
name, 1
collisions, during hashing, 1
com.bruceeckel.swing, 1
combo box, 1
comma operator, 1, 2
Command Pattern, 1
comments
and embedded documentation, 1
common interface, 1
common pitfalls when using operators, 1
Common-Gateway Interface (CGI), 1
Comparable, 1, 2
Comparator, 1, 2
compareTo( ), in java.lang.Comparable, 1
comparing arrays, 1
compilation unit, 1
compile-time constant, 1
compiling a Java program, 1
component, and JavaBeans, 1
composition, 1, 2
and cloning, 1
and design, 1
and dynamic behavior change, 1
choosing composition vs. inheritance, 1
combining composition & inheritance, 1
vs. inheritance, 1, 2
compression
compression library, 1
concept, high, 1
ConcurrentModificationException, 1
conditional operator, 1
conference, Software Development Conference, 1
Console
Swing display framework in com.bruceeckel.swing, 1
console input, 1
const, in C++, 1
constant
compile-time constant, 1
folding, 1
groups of constant values, 1
implicit constants, and String, 1
constrained properties, 1
constructor, 1
and anonymous inner classes, 1
and exception handling, 1
and exceptions, 1
and finally, 1
and overloading, 1
and polymorphism, 1
arguments, 1
base-class constructor, 1
base-class constructors and exceptions, 1
behavior of polymorphic methods inside constructors, 1
C++ copy constructor, 1
calling base-class constructors with arguments, 1
calling from other constructors, 1
default, 1
default constructors, 1
for reflection, 1
initialization during inheritance and composition, 1
name, 1
no-arg constructors, 1
order of constructor calls with inheritance, 1
return value, 1
static construction clause, 1
synthesized default constructor access, 1
consulting & mentoring provided by Bruce Eckel , 1
container
class, 1, 2
of primitives, 1
container classes, utilities for, 1
continue keyword, 1
control
access, 1
control framework, and inner classes, 1
controlling access, 1
conversion
automatic, 1
narrowing conversion, 1, 2
widening conversion, 1
cookies
and JSP, 1
cookies, and servlets, 1
copy
deep copy, 1
shallow copy, 1
copying an array, 1
CORBA, 1
costs, startup, 1
coupling, 1
CRC, class-responsibility-collaboration cards, 1
CRC32, 1
createStatement( ), 1
critical section, and synchronized block, 1
D

daemon threads, 1
data
final , 1
primitive data types and use with operators, 1
static initialization, 1
data type
equivalence to class, 1
database
flat-file database, 1
Java DataBase Connectivity (JDBC), 1
relational database, 1
URL, 1
DatabaseMetaData, 1
DataFlavor, 1
Datagram, 1
User Datagram Protocol (UDP), 1
DataInput, 1
DataInputStream, 1, 2, 3, 4
DataOutput, 1
DataOutputStream, 1, 2, 3
dead, Thread, 1
deadlock, multithreading, 1, 2
death condition, and finalize( ), 1
decorator design pattern, 1
decoupling
via polymorphism, 1
decoupling through polymorphism, 1
decrement operator, 1
deep copy, 1, 2
and ArrayList, 1
using serialization to perform deep copying, 1
default constructor, 1, 2
synthesizing a default constructor, 1
default constructor, access the same as the class, 1
default keyword, in a switch statement, 1
default package, 1
DefaultMutableTreeNode, 1
defaultReadObject( ), 1
DefaultTreeModel, 1
defaultWriteObject( ), 1
DeflaterOutputStream, 1
Delphi, from Borland, 1
Demarco, Tom, 1
dequeue, 1
derived
derived class, 1
derived class, initializing, 1
types, 1
design, 1
adding more methods to a design, 1
analysis and design, object-oriented, 1
and composition, 1
and inheritance, 1
and mistakes, 1
five stages of object design, 1
library design, 1
of object hierarchies, 1
patterns, 1, 2
design patterns, 1
decorator, 1
singleton, 1
destroy( ), 1
destructor, 1, 2, 3
Java doesn’t have one, 1
development, incremental, 1
diagram
inheritance, 1
use case, 1
diagram, class inheritance diagrams, 1
dialog box, 1
dialog, file, 1
dialog, tabbed, 1
dictionary, 1
digital signing, 1
directory
and packages, 1
creating directories and paths, 1
lister, 1
display framework, for Swing, 1
dispose( ), 1
division, 1
do-while, 1
documentation
comments & embedded documentation, 1
Domain Name System (DNS), 1
dotted quad, 1
double, literal value marker (D), 1
downcast, 1, 2, 3
type-safe downcast in run-time type identification, 1
Drawing lines in Swing, 1
drop-down list, 1
dynamic
behavior change with composition, 1
binding, 1, 2
dynamic aggregate initialization syntax for arrays, 1
E

early binding, 1, 2
East, BorderLayout, 1
editor, creating one using the Swing JTextPane, 1
efficiency
and arrays, 1
and final, 1
and threads, 1
when using the synchronized keyword, 1
EJB, 1
elegance, in programming, 1
else keyword, 1
encapsulation, 1
Enterprise JavaBeans (EJB), 1
enum, groups of constant values in C & C++, 1
Enumeration, 1
equals( ), 1, 2
and hashed data structures, 1
overriding for HashMap, 1
vs. ==, 1
equivalence
==, 1
object equivalence, 1
error
handling with exceptions, 1
recovery, 1
reporting errors in book, 1
standard error stream, 1
event
event-driven system, 1
JavaBeans, 1
multicast, 1
multicast event and JavaBeans, 1
responding to a Swing event, 1
Swing event model, 1
unicast, 1
event listener, 1
order of execution, 1
event model, Swing, 1
event-driven programming, 1
events and listeners, 1
EventSetDescriptors, 1
evolution, in program development, 1
exception
and base-class constructors, 1
and constructors, 1
and inheritance, 1, 2
catching an exception, 1
catching any exception, 1
changing the point of origin of the exception, 1
class hierarchies, 1
constructors, 1
creating your own, 1
design issues, 1
Error class, 1
Exception class, 1
exception handler, 1
exception handling, 1
exception matching, 1
FileNotFoundException, 1
fillInStackTrace( ), 1
finally, 1
guarded region, 1
handler, 1
handling, 1
losing an exception, pitfall, 1
NullPointerException, 1
printStackTrace( ), 1
re-throwing an exception, 1
restrictions, 1
RuntimeException, 1
specification, 1
termination vs. resumption, 1
Throwable, 1
throwing an exception, 1, 2
try, 1
try block, 1
typical uses of exceptions, 1
exceptional condition, 1
exceptions
and JNI , 1
executeQuery( ), 1
Exponential notation, 1
extending a class during inheritance, 1
extends, 1, 2, 3
and interface, 1
keyword, 1
extensible
program, 1
extension
pure inheritance vs. extension, 1
extension, sign, 1
extension, zero, 1
Externalizable, 1
alternative approach to using, 1
Extreme Programming (XP), 1, 2
F

fail fast containers, 1
false, 1
FeatureDescriptor, 1
Field, for reflection, 1
fields, initializing fields in interfaces, 1
FIFO, 1
File, 1, 2, 3
characteristics of files, 1
class, 1
File.list( ), 1
incomplete output files, errors and flushing, 1
JAR file, 1
file dialogs, 1
File Transfer Protocol (FTP), 1
FileDescriptor, 1
FileInputReader, 1
FileInputStream, 1
FilenameFilter, 1, 2
FileNotFoundException, 1
FileOutputStream, 1
FileReader, 1, 2
FileWriter, 1, 2
fillInStackTrace( ), 1
FilterInputStream, 1
FilterOutputStream, 1
FilterReader, 1
FilterWriter, 1
final, 1
and efficiency, 1
and private, 1
and static, 1
argument, 1, 2
blank finals, 1
classes, 1
data, 1
keyword, 1
method, 1
methods, 1, 2
static primitives, 1
with object references, 1
finalize( ), 1, 2
and inheritance, 1
and super, 1
calling directly, 1
order of finalization of objects, 1
finally, 1, 2
and constructors, 1
keyword, 1
pitfall, 1
finding .class files during loading, 1
flat-file database, 1
flavor, clipboard, 1
float, literal value marker(F), 1
floating point
true and false, 1
FlowLayout, 1
flushing output files, 1
focus traversal, 1
folding, constant, 1
for keyword, 1
forName( ), 1, 2
FORTRAN, 1
forward referencing, 1
Fowler, Martin, 1, 2, 3
framework
application framework and applets, 1
control framework and inner classes, 1
friendly, 1, 2
and interface, 1
and protected, 1
less accessible than protected, 1
FTP
File Transfer Protocol (FTP), 1
function
member function, 1
overriding, 1
functor, 1
G

garbage collection, 1, 2, 3
and cleanup, 1
and native method execution, 1
forcing finalization, 1
how the collector works, 1
order of object reclamation, 1
reachable objects, 1
setting references to null to allow cleanup, 1
generator, 1
generator object, to fill arrays and containers, 1
get( ), ArrayList, 1, 2
get( ), HashMap, 1
getBeanInfo( ), 1
getBytes( ), 1
getClass( ), 1, 2
getConstructor( ), 1
getConstructors( ), 1
getContentPane( ), 1
getContents( ), 1
getEventSetDescriptors( ), 1
getFloat( ), 1
getInputStream( ), 1
getInt( ), 1
getInterfaces( ), 1
getMethodDescriptors( ), 1
getMethods( ), 1
getModel( ), 1
getName( ), 1, 2
getOutputStream( ), 1
getPriority( ), 1
getPropertyDescriptors( ), 1
getPropertyType( ), 1
getReadMethod( ), 1
getSelectedValues( ), 1
getState( ), 1
getString( ), 1
getSuperclass( ), 1
getTransferData( ), 1
getTransferDataFlavors( ), 1
getWriteMethod( ), 1
Glass, Robert, 1
glue, in BoxLayout, 1
goto
lack of goto in Java, 1
graphical user interface (GUI), 1, 2
Graphics, 1, 2
greater than (>), 1
greater than or equal to (>=), 1
GridBagLayout, 1
GridLayout, 1, 2
guarded region, in exception handling, 1
GUI
graphical user interface, 1, 2
GUI builders, 1
guidelines
object development, 1
guidelines, coding standards, 1
GZIPInputStream, 1
GZIPOutputStream, 1
H

handler, exception, 1
hardware devices, interfacing with, 1
has-a, 1
has-a relationship, composition, 1
hash code, 1, 2
hash function, 1
hashCode( ), 1, 2
and hashed data structures, 1
issues when writing, 1
overriding for HashMap, 1
hashing, 1
external chaining, 1
perfect hashing function, 1
HashMap, 1, 2, 3
used with ArrayList, 1
HashSet, 1, 2
Hashtable, 1, 2
hasNext( ), Iterator, 1
Hexadecimal, 1
hiding
implementation, 1
hiding, implementation, 1
high concept, 1
HTML, 1
name, 1
param, 1
value, 1
HTML on Swing components, 1
I

I/O
and threads, blocking, 1
available( ), 1
blocking on I/O, 1
blocking, and available( ), 1
BufferedInputStream, 1
BufferedOutputStream, 1
BufferedReader, 1, 2, 3
BufferedWriter, 1, 2
ByteArrayInputStream, 1
ByteArrayOutputStream, 1
characteristics of files, 1
CharArrayReader, 1
CharArrayWriter, 1
CheckedInputStream, 1
CheckedOutputStream, 1
close( ), 1
compression library, 1
console input, 1
controlling the process of serialization, 1
DataInput, 1
DataInputStream, 1, 2, 3, 4
DataOutput, 1
DataOutputStream, 1, 2, 3
DeflaterOutputStream, 1
directory lister, 1
directory, creating directories and paths, 1
Externalizable, 1
File, 1, 2, 3
File class, 1
File.list( ), 1
FileDescriptor, 1
FileInputReader, 1
FileInputStream, 1
FilenameFilter, 1, 2
FileOutputStream, 1
FileReader, 1, 2
FileWriter, 1, 2
FilterInputStream, 1
FilterOutputStream, 1
FilterReader, 1
FilterWriter, 1
from standard input, 1
GZIPInputStream, 1
GZIPOutputStream, 1
InflaterInputStream, 1
input, 1
InputStream, 1, 2
InputStreamReader, 1, 2, 3
internationalization, 1
library, 1
lightweight persistence, 1
LineNumberInputStream, 1
LineNumberReader, 1
mark( ), 1
mkdirs( ), 1
nextToken( ), 1
ObjectOutputStream, 1
output, 1
OutputStream, 1, 2, 3
OutputStreamWriter, 1, 2, 3
pipe, 1
piped stream, 1
piped streams, 1
PipedInputStream, 1
PipedOutputStream, 1, 2
PipedReader, 1
PipedWriter, 1
PrintStream, 1
PrintWriter, 1, 2, 3, 4
pushBack( ), 1
PushbackInputStream, 1
PushBackReader, 1
RandomAccessFile, 1, 2, 3
read( ), 1
readChar( ), 1
readDouble( ), 1
Reader, 1, 2, 3, 4
readExternal( ), 1
readLine( ), 1, 2, 3, 4, 5
readObject( ), 1
redirecting standard I/O, 1
renameTo( ), 1
reset( ), 1
seek( ), 1, 2
SequenceInputStream, 1, 2
Serializable, 1
setErr(PrintStream), 1
setIn(InputStream), 1
setOut(PrintStream), 1
StreamTokenizer, 1, 2, 3, 4
StringBuffer, 1
StringBufferInputStream, 1
StringReader, 1, 2
StringWriter, 1
System.err, 1
System.in, 1, 2
System.out, 1
transient, 1
typical I/O configurations, 1
Unicode, 1
write( ), 1
writeBytes( ), 1
writeChars( ), 1
writeDouble( ), 1
writeExternal( ), 1
writeObject( ), 1
Writer, 1, 2, 3, 4
ZipEntry, 1
ZipInputStream, 1
ZipOutputStream, 1
Icon, 1
IDL, 1
idltojava, 1
if-else statement, 1, 2
IllegalMonitorStateException, 1
ImageIcon, 1
immutable objects, 1
implementation, 1
and interface, 1, 2
and interface, separating, 1
and interface, separation, 1
hiding, 1, 2, 3
separation of interface and implementation, 1
implements keyword, 1
import keyword, 1
increment operator, 1
incremental development, 1
indexed property, 1
indexing operator [ ], 1
indexOf( )
String, 1, 2
InflaterInputStream, 1
inheritance, 1, 2, 3, 4, 5
and cloning, 1
and final, 1
and finalize( ), 1
and synchronized, 1
choosing composition vs. inheritance, 1
class inheritance diagrams, 1
combining composition & inheritance, 1
designing with inheritance, 1
diagram, 1
extending a class during, 1
extending interfaces with inheritance, 1
from an abstract class, 1
from inner classes, 1
inheritance and method overloading vs. overriding, 1
initialization with inheritance, 1
multiple inheritance in C++ and Java, 1
pure inheritance vs. extension, 1
specialization, 1
vs composition, 1
vs. composition, 1
initial capacity, of a HashMap or HashSet, 1
initialization
and class loading, 1
array initialization, 1
base class, 1
class member, 1
constructor initialization during inheritance and composition, 1
initializing class members at point of definition, 1
initializing with the constructor, 1
instance initialization, 1, 2
member initializers, 1
non-static instance initialization, 1
of class data members, 1
of method variables, 1
order of initialization, 1, 2
static, 1
with inheritance, 1
inizialization
lazy, 1
inline method calls, 1
inner class, 1, 2
inner class
access rights, 1
and overriding, 1
and super, 1
and control frameworks, 1
and Swing, 1
and upcasting, 1
anonymous, 1
anonymous inner class, 1, 2
anonymous inner class and constructors, 1
anonymous, and table-driven code, 1
callback, 1
closure, 1
hidden reference to the object of the enclosing class, 1
identifiers and .class files, 1
in methods & scopes, 1
inheriting from inner classes, 1
nesting within any arbitrary scope, 1
private, 1
private inner classes, 1
referring to the outer class object, 1
static inner classes, 1
input
console input, 1
InputStream, 1, 2
InputStreamReader, 1, 2, 3
insertNodeInto( ), 1
instance
instance initialization , 1
non-static instance initialization, 1
instance of a class, 1
instanceof
dynamic instanceof, 1
keyword, 1
Integer
parseInt( ), 1
Integer wrapper class, 1
interface
and implementation, separation, 1
and inheritance, 1
base-class interface, 1
Cloneable interface used as a flag, 1
common interface, 1
defining the class, 1
for an object, 1
graphical user interface (GUI), 1, 2
implementation, separation of, 1
initializing fields in interfaces, 1
keyword, 1
nesting interfaces within classes and other interfaces, 1
private, as nested interfaces, 1
Runnable, 1
separation of interface and implementation, 1
upcasting to an interface, 1
user, 1
vs. abstract, 1
vs. implemenation, 1
Interface Definition Language (IDL), 1
interfaces
name collisions when combining interfaces, 1
interfacing with hardware devices, 1
internationalization, in I/O library, 1
Internet
Internet Protocol, 1
Internet Service Provider (ISP), 1
interrupt( ), 1
InterruptedException, 1
intranet, 1
and applets, 1
Introspector, 1
IP (Internet Protocol), 1
is-a, 1
relationship, inheritance, 1
relationship, inheritance & upcasting, 1
vs. is-like-a relationships, 1
is-like-a, 1
isDaemon( ), 1
isDataFlavorSupported( ), 1
isInstance, 1
isInterface( ), 1
ISP (Internet Service Provider), 1
iteration, in program development, 1
iterator, 1, 2, 3, 4
hasNext( ), 1
next( ), 1
iterator( ), 1
J

Jacobsen, Ivar, 1
JApplet, 1
menus, 1
JAR, 1
archive tag, for HTML and JAR files, 1
file, 1
jar files and classpath, 1
packaging applets to optimize loading, 1
JAR utility, 1, 2
Java, 1
and pointers, 1
and set-top boxes, 1
capitalization style source-code checking tool, 1
compiling and running a program, 1
containers library, 1, 2
public Java seminars, 1
versions, 1
Java 1.1
I/O streams, 1
Java AWT, 1
Java Foundation Classes (JFC/Swing), 1
Java operators, 1
Java programs, running from the Windows Explorer, 1
Java Server Pages (JSP), 1
Java Virtual Machine, 1
JavaBeans
see Beans, 1
javah, 1
JButton, 1
JButton, Swing, 1
JCheckBox, 1, 2
JCheckBoxMenuItem, 1, 2
JComboBox, 1
JComponent, 1, 2
JDBC
createStatement( ), 1
database URL, 1
DatabaseMetaData, 1
executeQuery( ), 1
flat-file database, 1
getFloat( ), 1
getInt( ), 1
getString( ), 1
Java DataBase Connectivity, 1
join, 1
relational database, 1
ResultSet, 1
SQL stored procedures, 1
Statement, 1
Structured Query Language (SQL), 1
JDialog, 1
menus, 1
JDK
downloading and installing, 1
JFC
Java Foundation Classes (JFC/Swing), 1
JFileChooser, 1
JFrame, 1, 2
menus, 1
Jini, 1
JIT
Just-In Time compilers, 1
JLabel, 1, 2
JList, 1
JMenu, 1, 2
JMenuBar, 1, 2
JMenuItem, 1, 2, 3, 4, 5
JNI functions, 1
JNICALL, 1
JNIEnv, 1
JNIEXPORT, 1
join, 1
JOptionPane, 1
JPanel, 1, 2, 3, 4
JPopupMenu, 1
JProgressBar, 1
JRadioButton, 1, 2
JScrollPane, 1, 2, 3, 4
JSlider, 1
JSP, 1
JTabbedPane, 1
JTable, 1
JTextArea, 1, 2
JTextField, 1, 2
JTextPane, 1
JToggleButton, 1
JTree, 1
JVM (Java Virtual Machine), 1
K

keyboard navigation, and Swing, 1
keyboard shortcuts, 1
keySet( ), 1
keywords
class, 1, 2
Koenig, Andrew, 1
L

label, 1
labeled break, 1
labeled continue, 1
late binding, 1, 2, 3
layout
controlling layout with layout managers, 1
lazy inizialization, 1
left-shift operator (<<), 1
length, array member, 1
length, for arrays, 1
less than (<), 1
less than or equal to (<=), 1
lexicographic vs. alphabetic sorting, 1
library
creator, vs. client programmer, 1
design, 1
use, 1
LIFO, 1
lightweight
Swing components, 1
lightweight persistence, 1
LineNumberInputStream, 1
LineNumberReader, 1
linked list, 1
LinkedList, 1, 2, 3
List, 1, 2, 3, 4, 5
drop-down list, 1
sorting and searching, 1
list boxes, 1
listener adapters, 1
listener classes, 1
listener interfaces, 1
listeners and events, 1
Lister, Timothy, 1
ListIterator, 1
literal
class literal, 1, 2
double, 1
float, 1
long, 1
values, 1
load factor, of a HashMap or HashSet, 1
loading
.class files, 1
initialization & class loading, 1
loding a class, 1
local loopback IP address, 1
localhost, 1
lock, for multithreading, 1
logarithms
natural logarithms, 1
logical
AND, 1
operator and short-circuiting, 1
operators, 1
OR, 1
long, literal value marker (L), 1
Look & Feel
Pluggable, 1
lvalue, 1
M

main( ), 1
maintenance, program, 1
management obstacles, 1
manifest file, for JAR files, 1, 2
Map, 1, 2, 3, 4, 5, 6
Map.Entry, 1
mark( ), 1
Math.random( ), 1
values produced by, 1
mathematical operators, 1
max( ), 1
member
member function, 1
object, 1
member initializers, 1
memory exhaustion, solution via References, 1
mentoring
and training, 1, 2
menu
JPopupMenu, 1
menus
JDialog, JApplet, JFrame, 1
message box, in Swing, 1
message, sending, 1
meta-class, 1
Method, 1
adding more methods to a design, 1
aliasing during a method call, 1
aliasing during method calls, 1
behavior of polymorphic methods inside constructors, 1
distinguishing overloaded methods, 1
final, 1, 2
final methods, 1
for reflection, 1
inline method calls, 1
inner classes in methods & scopes, 1
lookup tool, 1
method call binding, 1
overloading, 1
passing a reference into a method, 1
polymorphic method call, 1
private, 1
protected methods, 1
recursive, 1
static, 1
synchronized method and blocking, 1
initialization of method variables, 1
MethodDescriptors, 1
methodology, analysis and design, 1
Meyers, Scott, 1
Microsoft, 1
Visual Basic, 1
min( ), 1
mission statement, 1
mistakes, and design, 1
mkdirs( ), 1
mnemonics (keyboard shortcuts), 1
modulus, 1
monitor, for multithreading, 1
multi-tiered systems, 1
multicast, 1
event, and JavaBeans, 1
multicast events, 1
multidimensional arrays, 1
Multimedia CD ROM for book, 1
multiparadigm programming, 1
multiple inheritance, in C++ and Java, 1
multiplication, 1
multiply-nested class, 1
MultiStringMap, 1
multitasking, 1
multithreading, 1, 2
and containers, 1
and JavaBeans, 1
blocking, 1
deadlock, 1
deciding what methods to synchronize, 1
drawbacks, 1
Runnable, 1
servlets, 1
when to use it, 1
N

name, 1
clash, 1
collisions, 1
creating unique package names, 1
spaces, 1
name collisions when combining interfaces, 1
name, HTML keyword, 1
Naming
bind( ), 1
rebind( ), 1
unbind( ), 1
narrowing conversion, 1, 2, 3
native method interface (NMI) in Java 1.0, 1
natural logarithms, 1
nesting interfaces, 1
network programming, 1
accept( ), 1
client, 1
Common-Gateway Interface (CGI), 1
datagrams, 1
dedicated connection, 1
displaying a Web page from within an applet, 1
DNS (Domain Name System), 1
dotted quad, 1
getInputStream( ), 1
getOutputStream( ), 1
HTML, 1
identifying machines, 1
Internet Protocol (IP), 1
Java DataBase Connectivity (JDBC), 1
local loopback IP address, 1
localhost, 1
multithreading, 1
port, 1
reliable protocol, 1
server, 1
serving multiple clients, 1
showDocument( ), 1
Socket, 1
stream-based sockets, 1
testing programs without a network, 1
Transmission Control Protocol (TCP), 1
unreliable protocol, 1
URL, 1
User Datagram Protocol (UDP), 1
new operator, 1
and primitives, array, 1
newInstance( ), 1
reflection, 1
next( ), Iterator, 1
nextToken( ), 1
NMI
Java 1.0 native method interface, 1
no-arg
constructors, 1
non-Java code, calling, 1
North, BorderLayout, 1
NOT
logical (!), 1
not equivalent (!=), 1
notify( ), 1
notifyAll( ), 1
notifyListeners( ), 1
null, 1, 2
garbage collection, allowing cleanup, 1
NullPointerException, 1
numbers, binary, 1
O

object, 1, 2
aliasing, 1
arrays are first-class objects, 1
assigning objects by copying references, 1
assignment and reference copying, 1
business object/logic, 1
Class object, 1, 2, 3
clone( ), 1, 2
creation, 1
equals( ) method, 1
equivalence, 1
equivalence vs reference equivalence, 1
final, 1
five stages of object design, 1
getClass( ), 1
guidelines for object development, 1
hashCode( ), 1
immutable objects, 1
interface to, 1
lock, for multithreading, 1
member, 1
object-oriented programming, 1
order of finalization of objects, 1
process of creation, 1
reference equivalence vs. object equivalence, 1
serialization, 1, 2
standard root class, default inheritance from, 1
wait( ) and notify( ) methods, 1
web of objects, 1, 2
object-oriented
analysis and design, 1
basic concepts of object-oriented programming (OOP), 1
ObjectOutputStream, 1
obstacles, management, 1
Octal, 1
ODBC, 1
OMG, 1
ones complement operator, 1
OOP, 1
analysis and design, 1
basic characteristics, 1
basic concepts of object-oriented programming, 1
protocol, 1
Simula programming language, 1
substitutability, 1
operator, 1
+ and += overloading for String, 1
+, for String, 1
== and !=, 1
binary, 1
bitwise, 1
casting, 1
comma, 1
comma operator, 1
common pitfalls, 1
indexing operator [ ], 1
logical, 1
logical operators and short-circuiting, 1
ones-complement, 1
operator overloading for String, 1
overloading, 1
precedence, 1
precedence mnemonic, 1
relational, 1
shift, 1
unary, 1, 2
ternary, 1
optional methods, in the Java 2 containers, 1
OR, 1
(||), 1
order
of constructor calls with inheritance, 1
of finalization of objects, 1
of initialization, 1, 2, 3
organization, code, 1
OutputStream, 1, 2, 3
OutputStreamWriter, 1, 2, 3
overflow
and primitive types, 1
overloading
and constructors, 1
distinguishing overloaded methods, 1
lack of name hiding during inheritance, 1
method overloading, 1
on return values, 1
operator + and += overloading for String, 1
operator overloading, 1
operator overloading for String, 1
overloading vs. overriding, 1
vs. overriding, 1
overriding
and inner classes, 1
function, 1
overloading vs. overriding, 1
vs. overloading, 1
P

package, 1
access, and friendly, 1
and applets, 1
and directory structure, 1
creating unique package names, 1
default package, 1
names, capitalization, 1
visibility, friendly, 1
paintComponent( ), 1, 2
Painting on a JPanel in Swing, 1
pair programming, 1
paralysis, analysis, 1
param, HTML keyword, 1
parameter, applet, 1
parameterized type, 1
parseInt( ), 1
pass
pass by value, 1
passing a reference into a method, 1
Pattern
Command Pattern, 1
patterns, design, 1, 2
patterns, design patterns, 1
perfect hashing function, 1
performance
and final, 1
performance issues, 1
Perl programming language, 1
persistence, 1
lightweight persistence, 1
PhantomReference, 1
pipe, 1
piped stream, 1
piped streams, 1
PipedInputStream, 1
PipedOutputStream, 1, 2
PipedReader, 1
PipedWriter, 1
planning, software development, 1
Plauger, P.J., 1
Pluggable Look & Feel, 1
pointer
Java exclusion of pointers, 1
pointers, and Java, 1
polymorphism, 1, 2, 3, 4, 5
and constructors, 1
behavior of polymorphic methods inside constructors, 1
port, 1
portability in C, C++ and Java, 1
position, absolute, when laying out Swing components, 1
precedence
operator precedence mnemonic, 1
prerequisites, for this book, 1
primitive
comparison, 1
containers of primitives, 1
data types, and use with operators, 1
dealing with the immutability of primitive wrapper classes, 1
final, 1
final static primitives, 1
initialization of class data members, 1
wrappers, 1
primitive types, 1
printInfo( ), 1
printing arrays, 1
println( ), 1
printStackTrace( ), 1, 2
PrintStream, 1
PrintWriter, 1, 2, 3, 4
priority
default priority for a Thread group, 1
thread, 1
private, 1, 2, 3, 4, 5, 6
illusion of overriding private methods, 1
inner class, 1
inner classes, 1
interfaces, when nested, 1
methods, 1
problem space, 1, 2
process, and threading, 1
program
maintenance, 1
programmer, client, 1
programming
basic concepts of object-oriented programming (OOP), 1
coding standards, 1
event-driven programming, 1
Extreme Programming (XP), 1, 2
in the large, 1
multiparadigm, 1
object-oriented, 1
pair, 1
progress bar, 1
promotion
of primitive types, 1
type promotion, 1
Properties, 1
property, 1
bound properties, 1
constrained properties, 1
custom property editor, 1
custom property sheet, 1
indexed property, 1
PropertyChangeEvent, 1
PropertyDescriptors, 1
ProptertyVetoException, 1
protected, 1, 2, 3, 4, 5
and friendly, 1
is also friendly, 1
more accessible than friendly, 1
use in clone( ), 1
protocol, 1
unreliable protocol, 1
prototyping
rapid, 1
public, 1, 2, 3, 4
and interface, 1
class, and compilation units, 1
pure
substitution, 1
pure inheritance, vs. extension, 1
pure substitution, 1
pushBack( ), 1
PushbackInputStream, 1
PushBackReader, 1
put( ), HashMap, 1
Python, 1, 2
Q

queue, 1, 2
R

RAD (Rapid Application Development), 1
radio button, 1
random number generator, values produced by, 1
random( ), 1
RandomAccessFile, 1, 2, 3
rapid prototyping, 1
re-throwing an exception, 1
reachable objects and garbage collection, 1
read( ), 1
readChar( ), 1
readDouble( ), 1
Reader, 1, 2, 3, 4, 5
readExternal( ), 1
reading from standard input, 1
readLine( ), 1, 2, 3, 4, 5
readObject( ), 1
with Serializable , 1
rebind( ), 1
recursion, unintended via toString(), 1
redirecting standard I/O, 1
refactoring, 1
reference
assigning objects by copying references, 1
equivalence vs object equivalence, 1
final, 1
finding exact type of a base reference, 1
null, 1
reference equivalence vs. object equivalence, 1
Reference, from java.lang.ref, 1
referencing, forward referencing, 1
reflection, 1, 2, 3, 4
and Beans, 1
difference between RTTI and reflection, 1
reflection example, 1
registry
remote object registry, 1
relational
database, 1
operators, 1
reliable protocol, 1
Remote Method Invocation (RMI), 1
RemoteException, 1
removeActionListener( ), 1, 2
removeXXXListener( ), 1
renameTo( ), 1
reporting errors in book, 1
request, in OOP, 1
requirements analysis, 1
reset( ), 1
ResultSet, 1
resume( ), 1, 2
and deadlocks, 1
deprecation in Java 2, 1
resumption, termination vs. resumption, exception handling, 1
return
an array, 1
constructor return value, 1
overloading on return value, 1
reusability, 1
reuse, 1
code reuse, 1
existing class libraries, 1
reusable code, 1
right-shift operator (>>), 1
RMI
AlreadyBoundException, 1
and CORBA, 1
bind( ), 1
localhost, 1
rebind( ), 1
Remote, 1
remote interface, 1
Remote Method Invocation, 1
remote object registry, 1
RemoteException, 1, 2
rmic, 1
rmic and classpath, 1
rmiregistry, 1
RMISecurityManager, 1
Serializable arguments, 1
skeleton, 1
stub, 1
TCP/IP, 1
unbind( ), 1
UnicastRemoteObject, 1
rmic, 1
rmiregistry, 1
RMISecurityManager, 1
rollover, 1
RTTI
and cloning, 1
cast, 1
Class, 1
Class object, 1
ClassCastException, 1
Constructor, 1
difference between RTTI and reflection, 1
downcast, 1
Field, 1
getConstructor( ), 1
instanceof keyword, 1
isInstance, 1
meta-class, 1
Method, 1
newInstance( ), 1
reflection, 1
run-time type identification (RTTI), 1
type-safe downcast, 1
using the Class object, 1
Rumbaugh, James, 1
run-time binding, 1
polymorphism, 1
run-time type identification
(RTTI), 1
misuse, 1
shape example, 1
when to use it, 1
runFinalizersOnExit( ), 1
Runnable, 1
interface, 1
Thread, 1
running a Java program, 1
RuntimeException, 1, 2
rvalue, 1
S

safety, and applet restrictions, 1
scenario, 1
scheduling, 1
scope
inner class nesting within any arbitrary scope , 1
inner classes in methods & scopes, 1
use case, 1
scrolling in Swing, 1
searching
sorting and searching Lists, 1
searching an array, 1
section, critical section and synchronized block, 1
seek( ), 1, 2
seminars
public Java seminars, 1
training, provided by Bruce Eckel, 1
sending a message, 1
separating business logic from UI logic, 1
separation of interface and implementation, 1, 2, 3
SequenceInputStream, 1, 2
Serializable, 1, 2, 3, 4, 5
readObject( ), 1
writeObject( ), 1
serialization
and object storage, 1
and transient, 1
controlling the process of serialization, 1
defaultReadObject( ), 1
defaultWriteObject( ), 1
RMI arguments, 1
to perform deep copying, 1
Versioning, 1
server, 1
servlet, 1
multithreading, 1
running servlets with Tomcat, 1
session tracking, 1
session
and JSP, 1
session tracking, with servlets, 1
Set, 1, 2, 3, 4, 5
setActionCommand( ), 1
setBorder( ), 1
setContents( ), 1
setDaemon( ), 1
setDefaultCloseOperation( ), 1
setErr(PrintStream), 1
setIcon( ), 1
setIn(InputStream), 1
setLayout( ), 1
setMnemonic( ), 1
setOut(PrintStream), 1
setPriority( ), 1
setToolTipText( ), 1
shallow copy, 1, 2
shape
example, 1, 2
example, and run-time type identification, 1
shift operators, 1
short-circuit, and logical operators, 1
shortcut, keyboard, 1
show( ), 1
showDocument( ), 1
shuffle( ), 1
side effect, 1, 2, 3, 4
sign extension, 1
signed two’s complement, 1
Simula programming language, 1
Simula-67, 1
sine wave, 1
singleton
design pattern, 1
size( ), ArrayList, 1
Size, of a HashMap or HashSet, 1
sizeof( )
lack of in Java, 1
skeleton, RMI, 1
sleep( ), 1, 2, 3, 4
slider, 1
Smalltalk, 1, 2
Socket, 1
sockets, stream-based, 1
SoftReference, 1
software
development methodology, 1
Software Development Conference, 1
solution space, 1
sorting, 1
and searching Lists, 1
source code copyright notice, 1
South, BorderLayout, 1
space
problem, 1
solution, 1
specialization, 1
specification
system specification, 1
specification, exception, 1
specifier
access specifiers, 1, 2, 3
SQL
stored procedures, 1
Structured Query Language, 1
Stack, 1, 2
standard input
Reading from standard input, 1
standards
coding standards, 1, 2
startup costs, 1
stateChanged( ), 1
Statement, 1
mission, 1
static, 1
and final, 1
block, 1
clause, 1
construction clause, 1
data initialization, 1
final static primitives, 1
initialization, 1
inner classes, 1
keyword, 1
method, 1
synchronized static, 1
STL
C++, 1
stop( )
and deadlocks, 1
deprecation in Java 2, 1
stored procedures in SQL, 1
stream, I/O, 1
stream-based sockets, 1
StreamTokenizer, 1, 2, 3, 4
String
automatic type conversion, 1
class methods, 1
concatenation with operator +, 1
immutability, 1
indexOf( ), 1, 2
lexicographic vs. alphabetic sorting, 1
methods, 1
Operator +, 1, 2
operator + and += overloading, 1
toString( ), 1, 2
StringBuffer, 1
methods, 1
StringBufferInputStream, 1
StringReader, 1, 2
StringSelection, 1
StringTokenizer, 1
StringWriter, 1
struts, in BoxLayout, 1
stub, RMI, 1
style of creating classes, 1
subobject, 1, 2
substitutability, in OOP, 1
substitution
principle, 1
subtraction, 1
super, 1
and finalize( ), 1
and inner classes, 1
super keyword, 1
super.clone( ), 1, 2, 3
superclass, 1
suspend( ), 1, 2
and deadlocks, 1
deprecation in Java 2, 1
Swing, 1
Swing component examples, 1
Swing components, using HTML with, 1
Swing event model, 1, 2
switch keyword, 1
synchronized, 1, 2
and inheritance, 1
and wait( ) & notify( ), 1
containers, 1
deciding what methods to synchronize, 1
efficiency, 1
method, and blocking, 1
static, 1
synchronized block, 1
system clipboard, 1
system specification, 1
System.arraycopy( ), 1
System.err, 1, 2
System.gc( ), 1
System.in, 1, 2
System.out, 1
System.out.println( ), 1
System.runFinalization( ), 1
T

tabbed dialog, 1
table, 1
table-driven code, and anonymous inner classes, 1
TCP, Transmission Control Protocol, 1
TCP/IP, and RMI, 1
template
in C++, 1
termination vs. resumption, exception handling, 1
ternary operator, 1
testing
automated, 1
Extreme Programming (XP), 1
unit testing, 1
testing techniques, 1
this keyword, 1
Thread, 1, 2
and JavaBeans, 1
and Runnable, 1
blocked, 1
combined with main class, 1
daemon threads, 1
dead, 1
deadlock, 1
deciding what methods to synchronize, 1
destroy( ), 1
drawbacks, 1
getPriority( ), 1
I/O and threads, blocking, 1
interrupt( ), 1
isDaemon( ), 1
new Thread, 1
notify( ), 1
notifyAll( ), 1
order of execution of threads, 1
priority, 1
properly suspending & resuming, 1
resume( ), 1, 2
resume( ) , deprecation in Java 2, 1
resume( ), and deadlocks, 1
run( ), 1
Runnable, 1
Runnable interface, 1
setDaemon( ), 1
setPriority( ), 1
sharing limited resources, 1
sleep( ), 1, 2, 3
start( ), 1
states, 1
stop( ) , deprecation in Java 2, 1
stop( ), and deadlocks, 1
stopping, 1
suspend( ), 1, 2
suspend( ) , deprecation in Java 2, 1
suspend( ), and deadlocks, 1
synchronized method and blocking, 1
thread group, 1
thread group, default priority, 1
threads and efficiency, 1
wait( ), 1, 2
when they can be suspended, 1
when to use threads, 1
yield( ), 1
throw keyword, 1
Throwable, 1
base class for Exception, 1
throwing an exception, 1
time-critical code sections, 1
toArray( ), 1
token, 1
Tokenizing, 1
Tomcat, standard servlet container, 1
tool tips, 1
TooManyListenersException, 1, 2
toString( ), 1, 2, 3, 4
training, 1
and mentoring, 1, 2
training seminars provided by Bruce Eckel, 1
Transferable, 1
transient keyword, 1
translation unit, 1
Transmission Control Protocol (TCP), 1
tree, 1
TreeMap, 1, 2, 3
TreeSet, 1, 2
true, 1
try, 1, 2
try block in exceptions, 1
two’s complement, signed, 1
type
base, 1
data type equivalence to class, 1
derived, 1
finding exact type of a base reference, 1
parameterized type, 1
primitive, 1
primitive data types and use with operators, 1
type checking and arrays, 1
type safety in Java, 1
type-safe downcast in run-time type identification, 1
weak typing, 1
TYPE field, for primitive class literals, 1
type safe sets of constants, 1
type-conscious ArrayList, 1
U

UDP, User Datagram Protocol, 1
UML, 1
indicating composition, 1
Unified Modeling Language, 1, 2
unary
minus (-), 1
operator, 1
operators, 1
plus (+), 1
unbind( ), 1
unicast, 1
unicast events, 1
UnicastRemoteObject, 1
Unicode, 1
Unified Modeling Language (UML), 1, 2
unit testing, 1
unmodifiable, making a Collection or Map unmodifiable, 1
unsupported methods, in the Java 2 containers, 1
UnsupportedOperationException, 1
upcasting, 1, 2, 3, 4
and interface, 1
inner classes and upcasting, 1
updates of the book, 1
URL, 1
use case, 1
iteration, 1
scope, 1
User Datagram Protocol (UDP), 1
user interface, 1
and threads, for responsiveness, 1
responsive, with threading, 1
V

value
preventing change at run-time, 1
value, HTML keyword, 1
variable
defining a variable, 1
initialization of method variables, 1
variable argument lists (unknown quantity and type of arguments), 1
Vector, 1, 2, 3
of change, 1
vector of change, 1
versioning, serialization, 1
versions of Java, 1
visibility, package visibility, (friendly), 1
visual
programming, 1
Visual Basic, Microsoft, 1
visual programming environments, 1
W

wait( ), 1, 2
Waldrop, M. Mitchell, 1
weak
weakly typed language, 1
WeakHashMap, 1
WeakReference, 1
Web
displaying a Web page from within an applet, 1
placing an applet inside a Web page, 1
safety, and applet restrictions, 1
web of objects, 1, 2
West, BorderLayout, 1
while, 1
widening conversion, 1
wild-card, 1
WindowAdapter, 1
windowClosing( ), 1, 2
windowed applications, 1
Windows Explorer, running Java programs from, 1
wrapper, dealing with the immutability of primitive wrapper classes, 1
write( ), 1
writeBytes( ), 1
writeChars( ), 1
writeDouble( ), 1
writeExternal( ), 1
writeObject( ), 1
with Serializable, 1
Writer, 1, 2, 3, 4, 5
X

XOR, 1
XP, Extreme Programming, 1
Y

yield( ), 1
Z

zero extension, 1
ZipEntry, 1
ZipInputStream, 1
ZipOutputStream, 1
[

[ ]
indexing operator [ ], 1
^

^, 1
^=, 1
|

|, 1
|=, 1
||, 1