Warum Instanzvariable endgültig sein?
Ich lesediese Frag über unveränderliche Objekte und wurde mit einer Frage zu unveränderlichen Objekten und letztem Feld zurückgelassen:
Warum brauchen wir eine Instanzvariable in einer unveränderlichen Klasse, um endgültig zu sein?
Betrachten Sie zum Beispiel diese unveränderliche Klasse:
public final class Immutable
{
private final int someVal;
public Immutable(int someVal)
{
this.someVal= someVal;
}
public int getVal() {
return val;
}
}
Wenn es im obigen Code keine set-Methoden gibt und die Instanzvariable nur innerhalb des Konstruktors festgelegt ist, warum muss die Instanzvariable als final deklariert werden?