2016-04-26 5 views
0

Ich habe eine Klasse, die statische endgültige Variablen hat. Ich möchte es beim Hochfahren initialisieren, nicht wenn sie zum ersten Mal referenziert werden. Kann ich eine leere statische init() -Methode in der Klasse haben, die den Zweck erfüllt?Kann leere Init-Methode in einer Klasse die statischen endgültigen Variablen initialisieren?

Beispiel

public class ABC { 
    private static final SomeObject abc = new SomeObject(); 
    //other methods and variables 
    public static void init(){ 
    //empty method 
    } 
} 

public class DEF{ 
    public class static void main(String[] args) { 
    ABC.init(); 
    } 
} 
+2

"Ich möchte es beim Hochfahren initialisieren, nicht wenn sie zuerst referenziert werden" - statische Member werden initialisiert, wenn die Klasse geladen wird, nicht wenn sie zuerst referenziert werden. In der Praxis sollte das nicht einmal einen Unterschied machen. Was genau willst du erreichen? Und was meinst du mit "Boot-Up-Zeit"? –

Antwort

1

können Sie einen statischen Block verwenden und es dort initialisieren. Ihre init() Methode könnte am Ende sie jedes Mal initialisieren, wenn Sie ein Objekt erstellen.

Verwandte Themen