abstract 127
classes 276
methods 276
abstract class 267, 297
expressing in UML 277
purpose of 276
term defined 267
abstract class vs. interface 279, 280
abstract data types 211
abstract keyword
using to declare classes and methods 278
abstract method 297
abstract methods
implementing in derived classes 278
abstract thinking 8
abstraction
problem 8
the art of programming 210
abstractions 381
assigning properties to 381
selecting the right kinds of 741
access
horizontal 283
vertical 283
Access Control Graph (ACG) 687
access modifier
public
use of 124
access modifiers 215
behavior of 283
default/package 216
private 215
protected 216
public 215
AccessControlException 631
ActionEvent 349, 351, 356
actionPerformed() 612
ActiveQueue 499
adapter class
to flat-file data file 531
adapters 374
address bus 97
addressing local machine 561
aggregation 244, 245, 247, 260
aggregate constructors 246
composite 245, 246, 260
composite example code 249
definition 245
determining type by who controls object lifetime 246
effects of JVM garbage collector 246
example
aircraft engine simulation 251
aircraft engine simulation class diagram 252
simple 245, 246, 247, 260
simple example code 248
two types of 688
algorithm
running time 101
understanding the concept of 92
working definition of 99
algorithms 92, 99
good vs. bad 100
analysis 66, 680
anonymous class 349, 372
avoiding 17
anonymous listener 374
Ansel Adams 680
ANT
website address 244
Ant 244, 245
applet 123
<applet> tag 630
applet tag 628
basic example 627
connecting to server 631
defined 626
destroy() 629, 630
extended example code 636–638
HTML page requirement 628
inheritance hierarchy 627
init() 629, 630
jar file loading explained 630
life cycle stages 629
milestones 629
packaging and distribution 628
parameters 634, 635
running with browser 628
security policy and signed applets 634
security restrictions 631, 634
start() 629, 630
stop() 629, 630
applet methods
four primary 628
applet objects 123
applets 626, 626–638
benefits of using 626
application
compiling and executing 125
graceful recovery 64
java class definition
structure of 124
layers 558
physical deployment 558
physical tier distribution 563
tier responsibilities 563
tiers 558
application class definition structure 124
application class structure
example of 130
application distribution 558
across multiple computers 561
in single jar file 388
application object 123
application tiers
logical 562
separation of concerns 563
applications
building bigger 126
multi-tiered 562
architecture
flexibility 681
modularity 681
reliability 681
stability 681
array
converting String elements to ints 134
creating with literal values 186
declaration syntax 181
definition of 180
difference between primitive type and reference type arrays 187
elements 180
functionality provided by array types 182
homogeneous elements 180
main() method String parameter 200
multidimensional 194, 198
creating with array literals 196
declaration syntax 194
of primitive types 183
primitive type
memory arrangement 184
processing 134
properties of 183
ragged 197
references
calling Object and Class methods on 185
single dimensional 183
single dimensional in action 187
specifying length 181
specifying types 181
two dimensional
example program 198
memory representation of 196
visualization of 196
type inheritance hierarchy 182
array processing 64
array types 130
arrays 180
sorting with Arrays class 201
using to solve problems 180
Arrays class 201
arrays of arrays 194
Art of Illusion 398
ASCII 29
Ashmore’s hash code algorithm 706
assert 127
assert mechanism 231
association 245, 260
definition 245
attribute candidates 65
attributes 63
autoboxing
example 501
AWT 305, 350
AWT and Swing
component naming conventions 307
historical background 306
package names 307
AWTEvent 356, 371