Naja, bei Methoden bewirkt final das die Methoden nicht überschrieben werden können!
Und es ging mir ja nicht darum, das Objekt zu verändern, sondern eben das die set Methode eigentlich unnötig wäre, weil es ja call by value (tschuldige mein Fehler.. Verwechsel diese 2 immer - besser das mal gleich oben aus

) ist.
Und der C++ Programmierer hat mir genauso das Bsp was du oben gebracht hast, als Argument für get/set Methoden! Eben wenn man etwas ändern/loggen etc will wenn die Variable geändert wird, sind solche get/set Methoden sicher vorteilhafter
Aber wie gesagt, der Punkt 2 in den FAQ ist einfach nur dämlich. Denn wenn ich den Typ ändert, muss ich den Typ bei den get/set Methoden auch ändern (also dort wo sie benutzt werden). Außer ich arbeite immer mit Object und mache ein if instanceof und caste es dann hin... (was aber kaum jemand tun wird).
Nachtrag 2: Warum heitß das eigentlich call by value?! Das ist doch totale Blödaussage..
Zitat call by value:
In diesem Beispiel ist zu sehen, dass die beiden Variablen a und b lediglich ihre Werte an die Funktion test übergeben, aber im Gegensatz zu einem Referenzparameter dabei unverändert bleiben.
Tjo, dh, bei call by value müsste es immer unverändert bleiben! Da man in Java aber net explizit sagen kann sei Referenz oder sei eine "Kopie" würde ich eher dazu tendieren das man sagt, es ist call by reference.
Aber dann findet man wieder sowas:
In der Sprache Java wird bei primitiven Datentypen automatisch ein Wertparameter (call by value) verwendet. Bei komplexen Datentypen wird kein richtiger Referenzparameter (aber sicher kein call by value - da dies dazu führen würde das es unverändert bleibt) verwendet. Es wird eine Kopie der Referenz übergeben, die aber auf das gleiche Objekt verweist. Somit hat eine Änderung im Objekt auch bei der aufrufenden Methode Auswirkungen.
Da verstehe ich net wirklich warum man eine Kopie von einem Objekt das eigentlich auf das gleiche zeigt (also gleichen Adressbaum - wo ist das dann eine Kopie?!) übergibt, anstatt gleich das gleiche Objekt
