cache memory 96
Canvas class
extending 595
Cartesian coordinate 307
case 127, 160
casting 274
advice on use of 275
catch 127
ChangeEvent 349, 351, 371
char 127
Character 149
character stream file I/O 524
CheckboxListCell 399
Christopher Alexander 746
class 122, 127, 267, 297
abstract 276
expressing in UML 277
purpose of 276
abstract class 267
final 285
four categories of members 214
non-static fields 215
non-static methods 215
static fields 214
static methods 215
term definition 122, 267
class constant
definition of 137
class declarations
viewed as behavior specifications 724
class definition
accessor methods 222
adding fields 221
adding instance methods 221
constructor method 222
getter methods 222
setter methods 226
starting 221
class fields
accessing from main() method 136
class file 122
class files 28
class invariant 724, 726
defined 724
class invariants 724
class methods 15
class responsibility assignment 590
class variable
definition of 137
Class.forName() 581, 750
use of 618
classes
number in an application 244
CLASSPATH 27
client 554, 557
application 554, 557
hardware 554, 557
client-server applications 581, 582
client-server protocol 607
client-side RMI runtime 570
clone() method
example code 709
CloneNotSupportedException 708
Coad’s Inheritance Criteria 684
code blocks
executing in if statements 157
code reuse 680
coding convention
adopting 20
cohesion 14
collateral roles
modeling 686
Collection 487
collections
algorithms 492
ArrayList
usage example 484
Arrays class 493
casting retrieved objects 496
Collections class 492
core interfaces 486
creating new data structures from existing 497
enhanced for loop
when to use 501
framework
organization 486
purpose of 486
general characteristics 482
general purpose implementation classes 487
generic methods 501
generics 499
infrastructure 493
interfaces 482
Java 1.4.2 style 493–499
Java 5 core interfaces 499
Java 5 style 499–502
linked list node elements 489
performance characteristics
arrays 488
hashtable 491
linked list 489
red-black tree 491
red-black tree node elements 492
Set class
example usage of 494
command line arguments
using in program 133
Command pattern 746, 753
CommandFactory class 755
comments
javadoc 19
multi-line 18
single-line 18
three Java types 18
Comparable interface 711
Comparator interface
implementing 713
compiler errors
fixing 12
compiling multiple source files 244
complex application behavior 244
complexity
conceptual 12, 244, 245, 260
managing physical 14
physical 13, 244, 245, 260
relationship between physical and conceptual 14
Component
paint() 384
component 308
absolute positioning 316
when to paint() 384
component bounds 308
ComponentEvent 359
components 329–337
drawing onto 384
methods for setting renderers 393
organizing into containers 316
composite aggregation
defined 245
composition 680, 688
as force multiplier 688
compositional design 244, 688
compositionists 680
computer
architecture
feature set 95
feature set accessibility 95
feature set implementation 95
three aspects of 95
definition of 92
memory
organization 95
processing cycle 98
system 92
components of 93
hard drive 93
keyboard 93
main logic board 93
memory 93, 96
monitor 93
mouse 93
processor 93, 94
speakers 93
system unit 93
vs. computer system 92
computer network
definition 554
purpose 554
computer program
modeling real-world problem 210
computer screen coordinate system 305
computers 92
conceptual complexity 12, 244
managing 12
taming 13
concurrently
performing activities 444
ConcurrentMap 500
configuration-management tool 14
connection
incoming client 582
const 128
constant 65
declaring in main() method 132
definition of 132
usage in main() method 132
constructor
purpose of 135
constructor call 135
constructor method 15
consumer thread 468
container 308
containers
top-level 308
containing aggregate 247
containment
by reference 246
by value 246
polymorphic 688
contains 247
continue 128
control bus 97
controller 751
coordinates 383
coupling 14
creativity
and problem abstraction 210
current position 66
custom editor
example use of 412
custom exceptions
creating 438
custom painting 385
custom renderer 379
example use of 412
writing 392