Eine statische Variable kann mit den privaten statischen Methoden oder mit einem statischen Block initialisiert werden. Gibt es einen feinen Unterschied zwischen den beiden? Gibt es eine Situation, in der ich die statische Methode zur Initialisierung statischer Member nicht verwenden kann? Ich fand das später lesbarer.Statischer Block und private statische Methode zur Initialisierung statischer Elemente
Static Block Initialisierung:
private static int NUM_ITER;
static {
// Operations
NUM_ITER = //val from above operations.
}
Privat statische Methode Initialisierung:
private static int NUM_ITER = calculateNumIter();
// Some method comment on how we are calculating.
private static int calculateNumIter()
{
// Operations.
return //value_from_operations.
}
Ich ziehe die zweite, da es mehr lesbar ist. Gibt es irgendeine Situation, die ich nur zuerst verwenden muss (statische Blöcke)?
Was ist die beste Kodierungskonvention/Design für die Initialisierung statischer Mitglieder (endgültig sowie variabel)? Sogar von diesem thread habe ich gelernt, dass private statische Methoden einen Vorteil gegenüber den statischen Blöcken haben.
Dank,
Ich habe die statischen einige Male für den statischen Block vergessen, seitdem ich Version 2 verwenden;). – Stefan