se la tua variabile cambia non può essere final.

Quello che vorrei sottolinearti è che il metodo static, come pure le variabili static, non sono legate ad una o più istanze della classe, ma alla classe stessa.
Quando chiami il tuo metodo static (lo puoi fare senza dover istanziare la classe) la variabile che ritorna deve essere stata inizializzata (altrimenti hai un valore indefinito..sempre se il compilatore non ti segnala l'errore).
Quindi la tua variabile deve essere static ed inizializzata prima (o durante) della prima chiamata al metodo static.

fai conto che "static" significhi : "alloco memoria solo una volta".

ciauz