I/O
file 508
java.io package overview 508
IDE 27, 30
identifier
class name examples 21
constant name examples 21
correct formulation of 126
method name examples 22
naming 19
example of 126
naming rules 126
testing for validity 127
unicode 127
variable name examples 21
well-named 127
if 128
if/else statement 158
images 383
drawing an array of 382
loading 387
loading with Toolkit class example code 593
immutable properties 381
implements 128
import 128
incoming client connections 582
inheritance 680, 682–686
first purpose of 266
good reasons for using 682
Meyer’s Taxonomy 683
object-oriented programming with 266
second purpose of 267
simple example 269
third purpose of 267
three purposes of 266
valid usage checkpoints 684
inheritance form
constant 684
extension 683
facility 684
functional variation 684
implementation 684
machine 684
model 683
reification 684
restriction 683
software 684
structure 684
subtype 683
type variation 684
uneffecting inheritance 684
variation 684
view 684
inheritance hierarchy
assessing with Coad’s criteria 685
inheritists 680
inner class 349, 366
avoiding 17
inner classes
generated class files 368
input
simple
getting into program 133
InputStream 610
InputStream class 508
InputStreams 508
instance constant
definition of 137
instance methods 15
instance variable
definition of 137
instanceof 128
int 128
Integer 149
integrated development environment (IDE) 27
integrated development environments 30
interface 128, 266, 267, 297
authorized members 279
purpose of 279
reducing dependencies with 686
role of 686
term definition 267
interfaces 680
expressing in UML 280
implementing 266
internationalization
with Readers and Writers 524
Internet Protocol (IP) 565
Internet protocol layers 564
Internet Protocols 556
invoking remote methods 569
IOStreams
use in network programming 554
IP 565
is a relationship
implementing 267
Iterator 487, 499, 501
example use 494
next() 494
purpose of 501
use of 496