10.12.2012 Views

The Java Language Specification, Third Edition

The Java Language Specification, Third Edition

The Java Language Specification, Third Edition

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

634<br />

See also constructors; control flow; expressions;<br />

initializers; methods<br />

(chapter), 359<br />

assert<br />

specification, 373<br />

break<br />

definite assignment, 545<br />

specification, 388<br />

completion of<br />

abrupt, reasons for, 360<br />

normal, reasons for, 360<br />

continue<br />

definite assignment, 545<br />

specification, 390<br />

definite assignment, 538<br />

do<br />

definite assignment, 543<br />

specification, 382<br />

empty<br />

definite assignment, 538<br />

specification, 370<br />

expression<br />

definite assignment, 540<br />

specification, 371<br />

for<br />

definite assignment, 543<br />

specification, 384<br />

general specification, 368<br />

if<br />

dangling else handling, 369<br />

definite assignment, 541<br />

if-then, specification, 372<br />

if-then-else, specification, 372<br />

labeled<br />

definite assignment, 540<br />

specification, 370<br />

local variable declarations<br />

execution of, 367<br />

specification, 364<br />

return<br />

definite assignment, 545<br />

specification, 392<br />

switch<br />

definite assignment, 541<br />

specification, 377<br />

synchronized<br />

definite assignment, 545<br />

specification, 395<br />

throw<br />

definite assignment, 545<br />

specification, 393<br />

try<br />

definite assignment, 545<br />

try-catch, specification, 398<br />

try-catch-finally, specification, 399<br />

unreachable, conservative flow analysis<br />

detection of, 402<br />

while<br />

definite assignment, 542<br />

specification, 380<br />

static<br />

restrictions in inner classes, 181<br />

static context, 181, 471<br />

and method invocation, 472<br />

and qualified superclass constructor invocation,<br />

245<br />

static initializer<br />

definite [un]assignment within, 549<br />

definite assignment of variables before, 538<br />

inner class may not declare, 181<br />

may not contain a return statement, 392<br />

must assign all blank final class variables,<br />

199<br />

not member, 191<br />

overview, 174<br />

and unreachable statements, 402<br />

when reachable, 403<br />

and checked exceptions, 301<br />

static modifier<br />

See also declarations; modifiers<br />

anonymous class is never, 429<br />

class, pertains only to member, 175<br />

for fields, 198<br />

declaring class variables using, 198<br />

cannot be used for local classes, 362<br />

initialization of, 201<br />

binary compatibility considerations, 349<br />

creating during the preparation phase of<br />

linking, 315<br />

default initialization of during the preparation<br />

phase of linking, 315<br />

implicit in interface member declarations,<br />

264<br />

initialization of, 239<br />

initializers, 239<br />

for methods

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!