Okay, so weit ich weiß, verstehe ich diese Dinge über eine final
Variable.Beschwerde gegen endgültige Variable
- Es sollte sollte vor dem Konstruktor initialisiert werden nur einmal
- Alle
final
Variablen zugewiesen werden vervollständigt
nun die oben mit, ich verstehe nicht, wie die unten nicht funktioniert:
Hier, bevor der Konstruktor abgeschlossen final
Variablen werden gesetzt. Warum also klagen die Compiler dagegen?
Was ist die Art von 'otherthing'? – maerics
Hier ist das JLS-Kapitel über die definitive Zuweisung für Sie. http://docs.oracle.com/javase/specs/jls/se7/html/jls-16.html Viel Spaß. –
Endgültige Variablen sind schön, aber es gibt viele Male, die sie einfach nicht sinnvoll sind. Wenn Sie keine Möglichkeit haben, es aus Ihrer Klasse heraus zu setzen, ist es immer noch "logisch", also werden Sie nicht zu lange damit aufhören, es zu erzwingen. Berücksichtigen Sie auch die Gültigkeit des Aufrufs einer Methode (die davon ausgeht, dass Ihre Klasse in einem fertigen Zustand ist) von einem Konstruktor (verantwortlich für das Beenden des Klassenstatus). Dies muss mit Sorgfalt geschehen. –