It is not mandatory in Java to Initialize the instance variables before using. Only local variables have to be initialized before using. In the example, all those variables are instance variable so compiler will not complain. But if you try that within a method, will result a compiler error. [ July 22, 2007: Message edited by: Al Mamun ]
To expand on what Al said, instance variables are initialized to default values unless explicitly valued. Object references have a default of null. So in the above example, x gets a default value of null, and this is assigned to d.
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org