16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

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

Po<strong>in</strong>t p = null;<br />

Str<strong>in</strong>g s = null;<br />

Da sich h<strong>in</strong>ter „null“ ke<strong>in</strong> Objekt verbirgt, kann darüber auch ke<strong>in</strong> Objekt aufgerufen<br />

wer<strong>de</strong>n.<br />

<strong>Java</strong> verfügt über e<strong>in</strong> automatisches Speichermanagement. Deshalb braucht <strong>de</strong>r<br />

<strong>Java</strong>-Programmierer sich nicht um die Rückgabe von Speicher zu kümmern, <strong>de</strong>r von<br />

Referenzvariablen belegt ist. E<strong>in</strong> mit nie<strong>de</strong>rer Priorität im H<strong>in</strong>tergrund arbeiten<strong>de</strong>r<br />

„Garbage Collector“ sucht ständig nach Objekten, die nicht mehr referenziert wer<strong>de</strong>n,<br />

um <strong>de</strong>n belegten Speicher freizugeben.<br />

F<strong>in</strong>alizer-Metho<strong>de</strong>n. Sie wer<strong>de</strong>n aufgerufen, kurz bevor das Objekt im Papierkob<br />

lan<strong>de</strong>t und se<strong>in</strong> Speicher freigegeben wird. Zum Erstellen e<strong>in</strong>er F<strong>in</strong>alizer-Metho<strong>de</strong><br />

dient <strong>de</strong>r folgen<strong>de</strong> E<strong>in</strong>trag <strong>in</strong> <strong>de</strong>r Klassen<strong>de</strong>f<strong>in</strong>ition void f<strong>in</strong>alize(){ ... }. Im<br />

Körper dieser Metho<strong>de</strong> können alle möglichen Re<strong>in</strong>igungsprozeduren stehen, die das<br />

Objekt ausführen soll. Der Aufruf <strong>de</strong>r Metho<strong>de</strong> f<strong>in</strong>alize() bewirkt nicht unmittelbar<br />

die Ablage im Papierkorb. Nur durch das Entfernen aller Referenzen auf das Objekt<br />

wird das Objekt zum Löschen markiert.<br />

Referenztypen<br />

<strong>Java</strong> kennt zwei Arten von Typen: e<strong>in</strong>fache Typen und Referenztypen. E<strong>in</strong>fache<br />

Typen s<strong>in</strong>d: boolean, byte, short, <strong>in</strong>t, long, char, float und double.<br />

Klassen und Arrays s<strong>in</strong>d Referenztypen. E<strong>in</strong> Referenzwert enthält e<strong>in</strong>e Referenz auf<br />

die Daten e<strong>in</strong>es Objekts bzw. Arrays. Referenztypen müssen explizit mit Hilfe <strong>de</strong>s<br />

Operators new erzeugt wer<strong>de</strong>n.<br />

Aufzählungstyp<br />

Mit <strong>Java</strong> 1.5 wur<strong>de</strong> e<strong>in</strong> Aufzählungstyp <strong>in</strong> <strong>Java</strong> <strong>in</strong>tegriert. Syntaktisch ersche<strong>in</strong>t dieser<br />

Typ wie e<strong>in</strong>e Klasse, die statt <strong>de</strong>s Schlüsselworts class das Schlüsselwort enum<br />

hat.<br />

Konzeptionell s<strong>in</strong>d Aufzählungstypen Variablen und Attributen gleichgestellt.<br />

public, protected, private 88 static 89 f<strong>in</strong>al 90 enum i<strong>de</strong>ntifier { value }<br />

Im e<strong>in</strong>fachsten Anwendungsfall besteht die Def<strong>in</strong>ition e<strong>in</strong>es Aufzählungstyps aus <strong>de</strong>r<br />

durch Kommata vone<strong>in</strong>an<strong>de</strong>r getrennten vollständigen Aufzählung aller Werte.<br />

Bsp. 91 :<br />

public class PR14132<br />

{<br />

enum jahreszeiten { w<strong>in</strong>ter, fruehl<strong>in</strong>g, sommer, herbst };<br />

public static void ma<strong>in</strong>(Str<strong>in</strong>g args[])<br />

{<br />

jahreszeiten en<strong>de</strong> = jahreszeiten.w<strong>in</strong>ter;<br />

if (en<strong>de</strong> == jahreszeiten.w<strong>in</strong>ter)<br />

88 e<strong>in</strong>er aus public, protecetd, private<br />

89 optional<br />

90 optional<br />

91 pr14132<br />

73

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!