Also das wird jetzt massive Wortklauberei.
Erst einmal müssen wir die Begriffe definieren. Schon, dass man von "immutable class" gesprochen hat, ist Quatsch. Immutable sind Objekte. Da kann man z.B. als Definition nehmen:
An immutable object is an object whose internal state remains constant after it has been entirely created
Immutable Objects in Java | Baeldung
Und wenn man den Baeldung Beitrag anschaut, dann sieht man auch ein Beispiel und da ist die Klasse schlicht nicht final. (Was ich nicht gut finde, denn eine Klasse sollte final sein. Aber hier ist es erst einmal schön, dass man so ein Beispiel findet.)
Ja sonst kann ich folgendes machen und die geerbte Klasse ist nicht mehr immutable;
Nein, wenn das Element private ist, dann kannst Du da keinen Wert in der abgeleiteten Klasse zuweisen.
Und die ganze Diskussion ist sinnlos. Es läuft also schlicht darauf hinaus: Wenn Du eine Klasse hast, mit der Du immutable Instanzen erzeugst, dann ist es ein Verstoß gegen Liskovs Substitution Principle, da sich die abgeleitete Klasse nicht mehr so verhält wie die Basisklasse. Und da spielt das final Schlüsselwort keine Rolle. Ich kann mit der final Klasse immer noch alles machen (wenn auch nicht mehr so einfach), wie Spring Framework und die Mockito Library zeigen (um zwei Beispiele zu bringen)
Und natürlich gibt es genug Quellen, die klar machen: So eine Klasse sollte final sein. Daher gibt es Blog Artikel, die das bei der Anleitung mitgeben (geeksforgeeks ist aber schlecht, die Formulierung ist aus meiner Sicht nicht ok. ("The class must be declared as final so that child classes can’t be created." - eben nicht! Das ist Anfänger Niveau wie es Tobias regelmäßig bringt, wo man einem Neuling ohne Begründung etwas als MUSS verkauft statt es vernünftig zu erläutern. Dann sollte etwas so sein aber Ausnahmen sind denkbar! Es geht um ein Verständnis!) Da finde ich dann Effective Java deutlich besser - klare Best Practices mit Erläuterung. Kann ic nur jedem empfehlen!)
Daher noch einmal ganz klar und deutlich: Wenn Ihr behauptet, etwas MUSS so sein, dann darf es unter keinen Umständen anders sein!
Das ist meine klare Sichtweise. Aber bestimmt habt Ihr da auch einfach mal ein paar Argumente?