16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

über die Sichtbarkeit (Spezifizierer, Modifizierer) am Beg<strong>in</strong>n <strong>de</strong>r Klassen<strong>de</strong>f<strong>in</strong>ition<br />

vorliegen.<br />

Die freundliche Grun<strong>de</strong><strong>in</strong>stellung aller Klassen be<strong>de</strong>utet: Diese Klasse kann von<br />

an<strong>de</strong>ren Klassen nur <strong>in</strong>nerhalb <strong>de</strong>sselben Pakets benutzt wer<strong>de</strong>n. Das Paket-<br />

Konzept von <strong>Java</strong> faßt mehrere Klassen zu e<strong>in</strong>em Paket über die Anweisung<br />

„package“ zusammen. Durch die Anweisung „import“ wer<strong>de</strong>n e<strong>in</strong>zelne Pakete<br />

dann <strong>in</strong> e<strong>in</strong>em Programm verfügbar gemacht. Klassen, die ohne „package“-<br />

Anweisung <strong>de</strong>f<strong>in</strong>iert wer<strong>de</strong>n, wer<strong>de</strong>n vom Compiler <strong>in</strong> e<strong>in</strong> Standardpaket gestellt. Die<br />

„.java“- und „.class“-Dateien dieses Pakets bef<strong>in</strong><strong>de</strong>n sich im aktuellen<br />

Verzeichnis o<strong>de</strong>r im darunterliegen<strong>de</strong>n Verzeichnis.<br />

Mit <strong>de</strong>m Voranstellen von „public“ vor die Klassen<strong>de</strong>klaration wird e<strong>in</strong>e Klasse als<br />

„öffentlich“ <strong>de</strong>klariert. Dies be<strong>de</strong>utet: Alle Objekte haben Zugriff auf „public“-<br />

Klassen (nicht nur die <strong>de</strong>s eigenen Pakets).<br />

Der vore<strong>in</strong>gestellte Defaultstaus e<strong>in</strong>er Metho<strong>de</strong> ist immer freundlich und wird immer<br />

dann verwen<strong>de</strong>t, wenn ke<strong>in</strong>e explizite Angabe zur Sichtbarkeit am Anfang <strong>de</strong>r<br />

Metho<strong>de</strong>n<strong>de</strong>klaration vorliegt. Die freundliche Grun<strong>de</strong><strong>in</strong>stellung aller Metho<strong>de</strong>n<br />

be<strong>de</strong>utet: Die Metho<strong>de</strong>n können sowohl <strong>in</strong>nerhalb <strong>de</strong>r Klasse als auch <strong>in</strong>nerhalb <strong>de</strong>s<br />

zugehörigen Pakets benutzt wer<strong>de</strong>n.<br />

1.4.1.1.5 Klassenvariable und Klassenmetho<strong>de</strong>n<br />

Die Klasse „Rechentafel" 83 wur<strong>de</strong> zusätzlich erweitert um<br />

// Klassenvariable<br />

static <strong>in</strong>t anzRechenobjekte = 0;<br />

Das reservierte Wort static macht Variable und Metho<strong>de</strong>n (wie bspw. ma<strong>in</strong>()) zu<br />

Klassenvariablen bzw. Klassenmetho<strong>de</strong>n.<br />

Klassenvariable wer<strong>de</strong>n <strong>in</strong> <strong>de</strong>r Klasse <strong>de</strong>f<strong>in</strong>iert und gespeichert. Deshalb wirken sich<br />

ihre Werte auf die Klasse und all ihre Instanzen aus. Je<strong>de</strong> Instanz hat Zugang zu <strong>de</strong>r<br />

Klassenvariablen, jedoch gibt es für alle Instanzen dieser Variablen nur e<strong>in</strong>en Wert.<br />

Durch Än<strong>de</strong>rung <strong>de</strong>s Werts än<strong>de</strong>rn sich die Werte aller Instanzen <strong>de</strong>r betreffen<strong>de</strong>n<br />

Klasse.<br />

Die folgen<strong>de</strong> Erweiterung <strong>de</strong>s Konstruktors <strong>de</strong>r Klasse „Rechentafel“ berücksichtigt<br />

das spezielle Verhalten von Klassenvariablen:<br />

public Rechentafel(<strong>in</strong>t ersterOperand, <strong>in</strong>t zweiterOperand)<br />

{<br />

super();<br />

this.ersterOperand = ersterOperand;<br />

this.zweiterOperand = zweiterOperand;<br />

nummer = ++anzRechenobjekte;<br />

}<br />

„nummer“ ist e<strong>in</strong>e Instanzvariable, „anzRechenObjekte“ ist die Klassenvariable.<br />

Das reservierte Wort f<strong>in</strong>al macht Variablen zu Größen, <strong>de</strong>nen nur e<strong>in</strong>mal bei <strong>de</strong>r<br />

Deklaration e<strong>in</strong> Wert zugewiesen wer<strong>de</strong>n kann, d.h. sie wer<strong>de</strong>n dadurch zu<br />

Konstanten, z.B.: public static f<strong>in</strong>al double PI = 3.1415926535897932846;<br />

83 pr14103<br />

64

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!