Take a look at below code: As you see while trying to access static field x via an uninitialized local variable Foo foo; code foo.x generates compilation error: Variable ‘foo’ might not have been initialized. It could seem like this error makes sense, but only until we realize that to access a static member the JVM doesn’t actually use the