Let me get back the question to all of you again.
My answer is all the three.
Now, if any variable is not initialized and is referred in a method, the compiler complaints for"variable referred before it is initialized". That means, the variable must be initialized or it must hold some value before it has been referred.Either it can be explicitly initialized(assignment operation) or it can be implicitly initialized(using new). This problem does not exist for an instance variable. Because, they get initialized automatically. But, when any one of the given answers is used for string varibles and directly referred any where in the method, the compiler does not give any error, means, initialization is automatically done.