Contents | Index
S
- Saturday Night Live, 468
- save method
- of class
Properties
, 641
- scope
- See also declarations; inheritance; names; object-oriented concepts
- exception parameters, 291
- initializer execution relative to issues of, 175
- of names
- class, 130, 81
- formal parameter, 157
- hiding rules, 83
- import, 87
- interface, 184, 81
- local variables, 267, 45, 82
- member, 138, 81
- package, 120, 81
- parameters
- of constructors, 82
- of exception handlers, 82
- formal, 157, 81
- simple, 81
- term definition, 81
- type initialization order restrictions, 223
- Scott, Sir Walter, 646
- search method
- of class
Stack
, 662
- Sebastian, John, 273
- security
- See also access control; exceptions; types; virtual machine
ClassLoader
class, 558- internal symbolic reference table, role in maintaining, 218
SecurityException
class, 611SecurityManager
class, 569- standard exceptions,
SecurityException
, 209 - type system, verification importance to, 244
- @see tag
- specification, 421
- seed field
- of class
Random
, 646
- seek method
- of class
RandomAccessFile
, 745
- self-reference, 788, 805, 808
- semantics
- See also grammars; lexical; syntax
- errors in, exceptions as mechanism for signaling at run-time, 201
- expression, (chapter), 301
- names
- context role, 90
- determining, 89
- expressions, 95
- methods, 98
- package, 93
- types, 93
- verifying during linking process, 220
- semicolon (
;
)
- as method body, 164
- separators
- list of, 27
separator
field, of class File
, 753separatorChar
field, of class File
, 753- as token, 7
- sequences
- escape, for character and string literals, 26
SequenceInputStream
class, 694
- set
set
method, of class BitSet
, 620setChanged
method, of class Observable
, 644setCharAt
method, of class StringBuffer
, 552setDaemon
method
- of class
Thread
, 597 - of class
ThreadGroup
, 607
setDate
method, of class Date
, 627setElementAt
method, of class Vector
, 656setHours
method, of class Date
, 628setLength
method, of class StringBuffer
, 551setLineNumber
method, of class LineNumberInputStream
, 709setMaxPriority
method, of class ThreadGroup
, 607setMinutes
method, of class Date
, 628setMonth
method, of class Date
, 627setName
method, of class Thread
, 596setPriority
method, of class Thread
, 597setProperties
method, of class System
, 582setSeconds
method, of class Date
, 628setSecurityManager
method, of class System
, 580setSeed
method, of class Random
, 647setSize
method, of class Vector
, 658setTime
method, of class Date
, 629setYear
method, of class Date
, 626
- Seuss, Dr., 125
- shadowing
- See hiding
- Shakespeare, William
- As You Like It, 51
- Hamlet, 470
- Love's Labour's Lost, 28
- Macbeth, 406
- Measure for Measure, 28
- A Midsummer Night's Dream, 28
- Othello, 562
- Romeo and Juliet, 111
- Troilus and Cressida, 28
- Two Gentlemen of Verona, 28
- The Winter's Tale, 236
- Shelley, Percy Bysshe, 353
- Sheridan, Richard Brinsley, 471
- short type
- See also integral types; numbers
- value range, 31
- side effects
- See also expressions
- from expression evaluation, reasons for, 301
- signature
- of constructors, 177
- of methods, 157
- methods with the same, inheriting, 166
- simple names
- See also identifiers; names
- expression, meaning of, 95
- method, meaning of, 98
- package, meaning of, 93
- term definition, 79
- type, meaning of, 93
- sin method
- of class
Math
, 518
- single quote (
'
)
- escape sequence, 27
- size method
- of class
BitSet
, 621 - of class
ByteArrayOutputStream
, 728 - of class
DataOutputStream
, 737 - of class
Dictionary
, 633 - of class
Hashtable
, 636 - of class
Vector
, 658
- skip
skip
method
- of class
BufferedInputStream
, 701 - of class
ByteArrayInputStream
, 691 - of class
FileInputStream
, 686 - of class
FilterInputStream
, 697 - of class
InputStream
, 682 - of class
LineNumberInputStream
, 708 - of class
StringBufferInputStream
, 693
skipBytes
method
- of class
DataInputStream
, 704 - of class
RandomAccessFile
, 747 - of interface
DataInput
, 669
- slashSlashComments method
- of class
StreamTokenizer
, 717
- slashStarComments method
- of class
StreamTokenizer
, 717
sleep
method
- of class
Thread
, 600
- sockets
- standard exceptions,
SocketException
, 211
- Solomon, 193
- sorting
- Unicode, reference for details on, 18
- source code
- compatibility, contrasted with binary compatibility, 241
- transformations that preserve binary compatibility, 239
- Southey, Robert, 350
- spittoon
- See cuspidor
- sqrt method
- of class
Math
, 521
- square brackets ([])
- in array
- type declaration, 194
- variable declaration, 194
- stacks
EmptyStackException
class, 663Stack
class, 661StackOverflowError
class, 611- standard exceptions
EmptyStackException
, 209StackOverflowError
, 212, 213
- standard
- exceptions
- checked, 210
- runtime, 208
- unchecked, 209
- standard classes
AbstractMethodError
, 611ArithmeticException
, 611ArrayStoreException
, 611BitSet
, 618Boolean
, 469BufferedInputStream
, 699BufferedOutputStream
, 732ByteArrayInputStream
, 689ByteArrayOutputStream
, 727Character
, 471Class
, 199, 466ClassCastException
, 611ClassCircularityError
, 611ClassFormatError
, 611ClassLoader
, 216, 218, 219, 558ClassNotFoundException
, 611CloneNotSupportedException
, 611DataInputStream
, 703Date
, 622Dictionary
, 633
Double
, 308, 510EmptyStackException
, 663Error
, 163, 211, 611Exception
, 611ExceptionInInitializerError
, 611, 614File
, 752, 753FileInputStream
, 684FileOutputStream
, 722FilterInputStream
, 696FilterOutputStream
, 730Float
, 503Hashtable
, 635IllegalAccessError
, 611IllegalAccessException
, 611IllegalArgumentException
, 611IllegalThreadStateException
, 611IncompatibleClassChangeError
, 611IndexOutOfBoundsException
, 611InputStream
, 680InstantiationError
, 611Integer
, 488InternalError
, 611InterruptedException
, 611LineNumberInputStream
, 707LinkageError
, 211, 611Long
, 495Math
, 517NegativeArraySizeException
, 611NoClassDefFoundError
, 611NoSuchElementException
, 664NoSuchFieldError
, 611NoSuchMethodError
, 611NoSuchMethodException
, 611NullPointerException
, 611Number
class, 487NumberFormatException
, 611Object
, 185, 199, 40, 41, 458Observable
, 643OutOfMemoryError
, 611OutputStream
, 720PipedInputStream
, 687PipedOutputStream
, 725PrintStream
, 738Process
, 561Properties
, 639PushbackInputStream
, 710Random
, 646RandomAccessFile
, 743Runtime
, 563RuntimeException
, 164, 611SecurityException
, 611SecurityManager
, 569
SequenceInputStream
, 694Stack
, 661StackOverflowError
, 611StreamTokenizer
, 712String
, 19, 25, 41, 531StringBuffer
, 548StringBufferInputStream
, 692StringTokenizer
, 651System
, 579Thread
, 206Thread
class, 587ThreadDeath
, 611ThreadGroup
, 206, 602Throwable
, 611UnknownError
, 611UnsatisfiedLinkError
, 611Vector
, 654VerifyError
, 611VirtualMachineError
, 611
- standard interfaces
Cloneable
interface, 465DataInput
interface, 667DataOutput
interface, 674Enumeration
interface, 617FileNameFilter
interface, 759Observer
interface, 645Runnable
interface, 586
- Star Trek, 793, 805, 820
- start method
- of class
Thread
, 594
- startsWith method
- of class
String
, 540
- startup
- virtual machine, 215
- state
IllegalThreadStateException
class, 611- not shared by primitive values, 31
- object
- impact of changes, 39
transient
fields not part of persistent, 147
- statements
- See also constructors; control flow; expressions; initializers; methods
break
- definite assignment, 397
- specification, 283
- (chapter), 263
- completion of
- abrupt, reasons for, 264
- normal, reasons for, 264
continue
- definite assignment, 397
- specification, 285
- definite assignment, 393
do
- definite assignment, 395
- specification, 279
- empty
- definite assignment, 393
- specification, 271
- expression
- definite assignment, 394
- specification, 272
for
- definite assignment, 396
- specification, 280
- general specification, 269
if
- dangling
else
handling, 270 - definite assignment, 394
if-then
, specification, 273if-then-else
, specification, 274- labeled
- definite assignment, 394
- specification, 271
- LALR(1) grammar productions, 446
- local variable declarations
- execution of, 269
- specification, 265
return
- definite assignment, 397
- specification, 286
switch
- definite assignment, 395
- specification, 274
synchronized
- definite assignment, 397
- specification, 289
throw
- definite assignment, 397
- specification, 287
try
- definite assignment, 398
try-catch
, specification, 291try-catch-finally
, specification, 293- unreachable, conservative flow analysis detection of, 295
while
- definite assignment, 395
- specification, 277
- static initializers
- See also initialization
- LALR(1) grammar productions, 444
- static modifier
- See also declarations; modifiers
- for fields, 145
- binary compatibility considerations, 253
- creating during the preparation phase of linking, 221
- declaring class variables using, 145
- default initialization of during the preparation phase of linking, 221
- implicit in interface member declarations, 187
- initialization of, 149, 175
- binary compatibility considerations, 259
- initializers
- as components of a class body, 138
- for, 175
- for methods
- declaring class methods with, 160
- hiding by, 165
- not permitted in interface method declarations, 189
- reason why constructors do not use, 178
- Stein, Gertrude
- Arthur a Grammar
- arithmetic, 450
- burnt ivy, 440
- finishing early, 453
- grammar in a title, 433
- grammar is useless, 445
- pretty names, 441
- successions of words, 446
- vocabulary, 440
- Rooms, 349
- Sacred Emily, 111
- stop method
- of class
Thread
, 595 - of class
ThreadGroup
, 605
- store
- array, exception, 199
- storing
- packages
- in a database, 117
- in a file system, 115
- streams
- See also files; input; output
BufferedInputStream
class, 699BufferedOutputStream
class, 732ByteArrayInputStream
class, 689ByteArrayOutputStream
class, 727
FileInputStream
class, 684FileOutputStream
class, 722FilterInputStream
class, 696FilterOutputStream
class, 730LineNumberInputStream
class, 707OutputStream
class, 720PipedInputStream
class, 687PipedOutputStream
class, 725PrintStream
class, 738PushbackInputStream
class, 710SequenceInputStream
class, 694StreamTokenizer
class, 712StringBufferInputStream
class, 692
- string(s)
- See also characters; numbers; primitive types;
String
class; StringBuffer
class - character arrays not the same as, 199
- concatenation operator (
+
)
- constructor invocation by, 177
- creating new instances with, 38
- conversion, 67
- context specification, 67
- specification, 60
- to numeric types,
NumberFormatException
, 209
- literals
- escape sequences for, 26
- interning of, 25
- term definition and specification, 25
- standard exceptions,
UTFDataFormatException
, 210 String
class, 531
- creating instances, with string concatenation operator, 41
- literal as source code representation of the value of, 19
- specification, 41, 531
- string literal as reference to an instance of, 25
StringBuffer
class, 548StringBufferInputStream
class, 692StringTokenizer
class, 651- substrings,
substring
method of String
class, 543
- Stroustrup, Bjarne, 6
- subclasses
- See also class(es); interfaces; superclasses; superinterfaces
- declaration, 133
- direct, extending classes with, 133
- relationship to direct subclass, 134
- subpackages
- See also packages
- as package members, 85
- substring method
- of class
String
, 543
- super keyword
- accessing
- overridden methods with, 165
- superclass members with, in expression evaluation, 322
- binary compatibility considerations, 247
- not permitted in
- class variable initialization, 150
- explicit constructor invocation, 179
- interface field declarations, 187
- permitted in instance variable initialization, 150
- superclass(es)
- See also classes; fields; interfaces; methods; packages; subclasses; superinterfaces
- accessing fields with
super
, expression evaluation, 322 - of array is
Object
, 199 - binary compatibility considerations, 243
- direct
- declaration, with
extends
clause, 133 - term definition, 133
- extending classes with, 133
public
, accessing instances of non-public subclasses through, 142
- superinterface(s)
- See also classes; fields; interfaces; methods; packages; subclasses
- binary compatibility considerations, 243, 260
- direct
- declaration, with
implements
clause, 135 - term definition, 135
- of interface, declaration, 185
public
, accessing instances of non-public subclasses through, 142- term definition, 135
- suspend method
- of class
Thread
, 596 - of class
ThreadGroup
, 606
- sval field
- of class
StreamTokenizer
, 715
- swapping
- threads example, 409
- sweat, 51
- Sweet, Richard, 6
- Swift, Jonathan, 618
- switch statement
- See also statements
- definite assignment, 395
- local variable declaration specification, impact on, 45
- specification, 274
- symbolic references
- binary file format requirements, 239
- resolution, 221
- code generation implications of, 222
- internal table description, 218
- symbols
- See also identifiers; name; variables
- goal
- CompilationUnit, 8
- Input, 7
- term definition, 7
- nonterminal
- notation for definition of, 8
- term definition, 7
- optional, term definition, 8
- terminal, term definition, 7
- synchronization
- See also locks; threads
- exception mechanism integration with, 202
- initialization implications of, 225
- locks, 415
- use by
synchronized
methods, 161 - use by
synchronized
statement, 289
- standard exceptions
IllegalMonitorStateException
, 209IllegalThreadStateException
, 209InterruptedException
, 210InterruptedIOException
, 210
synchronized
modifier
- See also modifiers
- in method declarations, 161
- methods, binary compatibility considerations, 256
- not permitted in interface field declarations, 187
- not permitted in interface method declarations, 189
- reason why constructors do not use, 178
- specification, 416
synchronized
statement
- definite assignment, 397
- operations, 416
- specification, 289
- term definition, 399
volatile
fields used for, with threads, 147
- syntactic
- See also lexical; semantics
- classification, of a name according to context, 90
- grammar, 8
- LALR(1) grammar, 440
- term definition, 8
- System class, 579
- system operations
- See
ClassLoader
class; Process
class; Runtime
class; SecurityManager
class; System
class