Chapter 16. Definite Assignment
Each local variable (§14.4) and every blank final
field (§4.12.4, §8.3.1.2) must have a definitely assigned value when any access of its value occurs.
An access to its value consists of the simple name of the variable (or, for a field, the simple name of the field qualified by this
) occurring anywhere in an expression except as the left-hand operand of the simple assignment operator =
(§15.26.1).
For every access of a local variable or blank final
field x, x must be definitely assigned before the access, or a compile-time error occurs.
Similarly, every blank final
variable must be assigned at most once; it must be definitely unassigned when an assignment to it occurs.
Such an assignment is defined to occur if and ...
Get The Java® Language Specification, Java SE 8 Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.