This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Welcome to JavaRanch . Next time you post the code please use code tags. And by "class variables" you mean the instance variables, usually static variables are called class variables that they are part of the class not on a particular instance. For the instance variables compiler gives the default value if you have not specified any (object references -> null, int -> 0 etc..).
As you have been told, the variables you posted are not usually called "class variables". The answer depends on what you intend to do with these variables. Are they supposed to have the same initial value in every instance of this class? In that case you can initialise them at declaration time. Are they supposed to have different values for different instances? In that case they are probably best initialised in the constructor.
My own preference would be for all instance variables to be initialised in the constructor; then you have all your initialisations together in one place and can see them all.
Your classes quoted show some serious design flaws: you ought not to allow reference type fields to be null; they might be used before they are initialised to a real value. Even worse, you have a public instance field; you are binding your class to a particular implementation by using public fields. And also permitting other code to change this value outwith the control of your class. If you have method which return those two Strings, then is there any need for your fields at all? Can you dispense with those fields and simply use the two methods?