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 />

1.4.1.1.2 E<strong>in</strong>fache Typen 74 , Referenztypen, Automatisches Boxen<br />

E<strong>in</strong>fache Typen und Wrapper-Klassen<br />

Je<strong>de</strong>s <strong>Java</strong>-Programm besteht aus e<strong>in</strong>er Sammlung von Klassen. Der vollständige<br />

Co<strong>de</strong> von <strong>Java</strong> wird <strong>in</strong> Klassen e<strong>in</strong>geteilt. Es gibt davon nur e<strong>in</strong>e Ausnahme:<br />

Boolesche Operatoren, Zahlen und an<strong>de</strong>re e<strong>in</strong>fache Typen 75 s<strong>in</strong>d <strong>in</strong> <strong>Java</strong> erst e<strong>in</strong>mal<br />

ke<strong>in</strong>e Objekte. <strong>Java</strong> hat für alle e<strong>in</strong>fachen Typen sog. Wrapper-Klassen 76<br />

implementiert. E<strong>in</strong> Wrapper-Klasse ist e<strong>in</strong>e spezielle Klasse, die e<strong>in</strong>e<br />

Objektschnittstelle für die <strong>in</strong> <strong>Java</strong> verschie<strong>de</strong>nen primitiven Typen darstellt. Über<br />

Wrapper-Objekte können alle e<strong>in</strong>fachen Typen wie Klassen behan<strong>de</strong>lt wer<strong>de</strong>n.<br />

Den primitiven Typen s<strong>in</strong>d „Wrapper“-Klassen zugeordnet, die e<strong>in</strong> nicht primitives<br />

Objekt auf <strong>de</strong>m „Heap“ zur Darstellung <strong>de</strong>s primitiven Typs erzeugen, z.B.:<br />

char zeichen = 'x';<br />

Character zeichenDarstellung = new Character(zeichen)<br />

bzw.<br />

Character zeichenDarstellung = new Character('x');<br />

PrimitivTyp Wrapper-Typ<br />

boolean Boolean<br />

byte Byte<br />

short Short<br />

<strong>in</strong>t<br />

Integer<br />

long Long<br />

float Float<br />

double Double<br />

void 77 Void 78<br />

Wrapper-Klassen erlauben es, Daten e<strong>in</strong>es primitiven Typs als Objekt zu speichern.<br />

Objekte dieser Klassen s<strong>in</strong>d nicht modifizierbar. Ist e<strong>in</strong>mal e<strong>in</strong> Integer-Objekt mit<br />

e<strong>in</strong>er bestimmten Zahl erzeugt, lässt sich die <strong>in</strong> diesem Objekt erzeugte Zahl nicht<br />

mehr modifizieren.<br />

Alle Wrapper-Typen bieten bestimmte Service-Metho<strong>de</strong>n an.<br />

Wichtige und gebrächliche Servive-Metho<strong>de</strong>n e<strong>in</strong>schl. weiterer Merkmale:<br />

- Alle Wrapper-Typen s<strong>in</strong>d f<strong>in</strong>al <strong>de</strong>klariert und können nicht weiter spezialisiert wer<strong>de</strong>n.<br />

- ...Value(), z.B. booleanValue(), byteValue(), shortValue(), <strong>in</strong>tValue(),<br />

longValue(), floatValue(), doubleValue(). All diese Metho<strong>de</strong>n geben <strong>de</strong>n <strong>in</strong>tern<br />

gekapselten Wert unverän<strong>de</strong>rt zurück. Darüber h<strong>in</strong>aus existieren Metho<strong>de</strong>n zur Ausgabe<br />

e<strong>in</strong>es numerischen Wrapper-Typs <strong>in</strong> e<strong>in</strong>en beliebigen numerischen Primitivtyp 79 .<br />

- Konstruktoren erlauben die Erzeugung e<strong>in</strong>es Wrappertyps aus e<strong>in</strong>em Ausdruck vom Typ <strong>de</strong>s<br />

gekapselten Typs o<strong>de</strong>r aus e<strong>in</strong>em Str<strong>in</strong>g.<br />

- compareTo() vergleicht <strong>de</strong>n gekapselten zweier Wrappertyp-Objekte.<br />

74 vgl. 2.2.1<br />

75 vgl. 2.2.1<br />

76 vgl. 1.4.2.7<br />

77 Dieser Typ ist nicht als Datentyp für Variable und Attribute verfügbar, kann nur als Rückgabetyp von<br />

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

78 kann nicht <strong>in</strong>stanziiert wer<strong>de</strong>n<br />

79 ersetzen die explizite Typumwandlung<br />

59

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!