What are the rules for initializing variables?
In Java, every variable in a program must have a value before its value is used.
-
Member variables (both static and instance) are initialized implicitly by
default:
-
Most primitives except boolean are default initialized to zero (e.g., the value
for integer type is 0, 0.0f is for float type, and 0.0d is for double type)
-
char variables are default initialized to '\u0000'
-
boolean variables are default initialized to false.
-
The reference type variables are default initialized to null.
-
Final variables must be initialized explicitly in declaration or constructors
(instance final variable.)
-
Local variables are not assigned a default value. A local variable must be
explicitly given a value before
it is used, by either initialization or assignment, in a way that can be
verified by the compiler using
the rules for definite assignment.