Java Reference
In-Depth Information
Bei der Verwendung statischer Methoden müssen Sie beachten, dass sie aufgrund der
oben beschriebenen Zusammenhänge zwangsläufig
nur auf statische Datenelemente (Attribute) direkt zugreifen können
nur andere statische Methoden aufrufen können und
this nicht verwenden können, weil es kein zugeordnetes Objekt geben kann.
7.2
Zugriffsmechanismen
7
7.2.1
Unveränderliche Klassen
In Abschnitt 6.2.2 , »Referenztypen als Parameter«, habe ich im Zusammenhang mit der
Bruchmultiplikation dargestellt, dass es oftmals nicht erwünscht ist, dass eine Methode
die Attribute eines Objekts verändert.
Wie bei der Multiplikation, die wir mit Standardzahlentypen ausführen
c=a*b;
sollten die beiden Operanden a und b durch die Multiplikation nicht verändert werden.
Stattdessen sollte ein neues Objekt erzeugt werden, das als Variable c verwendet werden
kann. Die erste Frage, die sich stellt, ist: Wie können Sie dafür sorgen, dass ein Attribut
eines Objekts nicht einfach verändert werden kann?
Lösung:
Mit Hilfe entsprechender Modifier können Sie die Möglichkeiten, ein Attribut zu verän-
dern, stark einschränken. Modifier stehen, wie Sie bereits von static her wissen, bei der
Definition von Attributen noch vor dem Datentyp. Bei Attributen verhindert der Modi-
fier final , dass ein einmalig initialisiertes Attribut nachträglich mit einem anderen
Wert überschrieben wird. Die Initialisierung des Attributs muss in einem Konstruktor
oder durch eine Initialisierung direkt bei der Definition erfolgen.
Zum Beispiel können Sie den Wert eines Bruchs nach der folgenden Definition und der
Initialisierung nicht mehr verändern:
class Bruch {
final int zaehler;
final int nenner;
...
Search WWH ::




Custom Search