21
Java 7 für Dummies

Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Embed Size (px)

Citation preview

Page 1: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Java 7 für Dummies

Page 2: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

1Alles über JavaIn diesem Kapitel

g Was ist Java?

g Wie wurde Java entwickelt?

g Warum ist Java so attraktiv?

g Wie Sie sich in der objektorientierten Programmierung zurechtfinden können

I ch weiß ja nicht, was Sie von Computern halten, aber für mich sind Computer aus den fol-genden beiden einfachen Gründen nützlich:

¡ Wenn Computer arbeiten, fühlen sie keinen Widerwillen, keinen Stress, keine Langeweileund keine Müdigkeit. Computer sind unsere elektronischen Sklaven. Mein Computer ist24/7 (eine übliche Schreibweise, um auszudrücken, dass ein Gerät ohne Unterbrechungrund um die Uhr, also 24 Stunden am Tag, sieben Tage in der Woche arbeitet) damit be-schäftigt, Berechnungen für SETI home, der Suche nach außerirdischer Intelligenz,auszuführen. Habe ich Mitleid mit meinem Computer, weil er so hart arbeitet? Beklagtsich der Computer? Geht der Computer vor das Arbeitsgericht? Nein.

Es ist ganz einfach: Ich gebe Befehle, und der Computer gehorcht. Habe ich dabei Schuld-gefühle? Nicht die geringsten. Sollte ich welche haben? Absolut nicht.

¡ Computer bewegen Daten, nicht Papier. Vor nicht allzu langer Zeit wurden Nachrichtennoch von berittenen Boten über größere Entfernungen transportiert. Die Nachrichtenwurden auf Papier, Pergament, eine Tontafel oder ein anderes physisches Medium ge-schrieben, das zur jeweiligen Zeit gebräuchlich war.

Heute betrachten wir diesen Prozess als eine große Verschwendung von Ressourcen, aberdas liegt nur daran, dass wir am Anfang des elektronischen Zeitalters stehen. Der Schlüs-sel liegt darin, dass Nachrichten Daten sind, die nicht an bestimmte physische Medien wieTinte, Papier und Pferde gebunden sind. Medien sind nur temporäre Träger dieser Daten,doch die Daten selbst sind nicht mit den Datenträgern identisch.

Das Schöne an Computern ist, dass sie Daten effizient übertragen. Die Datenträger beste-hen aus Elektronen und/oder Lichtimpulsen in Kabelnetzen sowie aus elektromagneti-schen Wellen in Funknetzen, ohne dass Gegenstände physisch bewegt werden müssten.

Wenn Sie den Datenfluss unter diesem Aspekt betrachten, verschwindet plötzlich der gesamtephysische Ballast: Statt Bäume zu fällen, Papier zu produzieren, Gedanken mit Tinte oderDruckerschwärze auf dem Papier festzuhalten, dieses dann zu transportieren usw., werdenGedanken als Daten elektronisch erfasst, gespeichert und übertragen. Der Prozess läuft sehrviel schneller ab, und es wird möglich, viel mehr und viel komplexere Dinge zu tun, als es mitden früheren Verfahren möglich gewesen wäre.

25

Page 3: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Was leistet Java?Es wäre schön, wenn diese ganze Komplexität kostenlos wäre; leider ist dies nicht der Fall. Zu-nächst muss jemand gründlich nachdenken und genau festlegen, was der Computer tun soll.Danach muss jemand die Befehle schreiben, die der Computer ausführen soll.

Beim jetzigen Stand des technischen Wissens ist es nicht möglich, einem Computer Befehlein einer natürlichen Sprache (Deutsch, Englisch usw.) zu geben. In der Science-Fiction gibtes zahlreiche Geschichten von Leuten, die Robotern einfache Befehle geben und damit uner-wartete, katastrophale Folgen auslösen. Deutsch und andere natürliche Sprachen eignen sichaus mehreren Gründen nicht für die Kommunikation mit Computern:

¡ Ein deutscher Satz kann mehrdeutig sein. »Zerkaue eine Woche lang eine Tablette drei-mal am Tag.«

¡ Es ist schwierig, einen sehr komplizierten Befehl in Deutsch zu formulieren. »VerbindenSie den Flansch A mit der Ausbuchtung B. Achten Sie darauf, nur die äußere Nase vonFlansch A in die größere Vertiefung der Ausbuchtung B einzupassen, während Sie diemittlere und die innere Nase in die Vertiefung C einführen.«

¡ Ein deutscher Satz enthält viel Ballast. »Ein Satz enthält überflüssige Wörter.«

¡ Es ist nicht immer leicht, deutsche Sätze zu verstehen. »Als Teil dieser Verlagsvereinba-rung zwischen John Wiley & Sons, Inc. (»Wiley«) und dem Autor (»Barry Burd«) wirdWiley für die Teillieferung von Java For Dummies, 5. Auflage (»das Werk«) die Summevon eintausendzweihundertsiebenundfünfzig Dollar und dreiundsechzig Cents ($1257,63)an den Autor zahlen.«

Um einem Computer mitzuteilen, was er tun soll, müssen Sie eine spezielle Sprache verwen-den und in dieser Sprache knappe, eindeutige Anweisungen schreiben. Eine solche Sprachewird als Programmiersprache bezeichnet. Die Anweisungen, die in einer solchen Sprache ge-schrieben werden, werden als Programm bezeichnet. Eine Gesamtheit solcher Anweisungenwird auch als Software oder Code bezeichnet. Beispielsweise könnte der Code für eine Zah-lung an den Autor in Java folgendermaßen aussehen:

class PayBarrypublic static void main(String args[])

double checkAmount = 1257.63;System.out.print(''Zahlen Sie dem Empfänger '');System.out.print(''Dr. Barry Burd '');System.out.print(''$'');System.out.println(checkAmount);

Java 7 für Dummies

26

Page 4: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Warum sollten Sie Java verwenden?Zeit zum Feiern! Sie haben zu diesem Buch gegriffen und lesen gerade Kapitel 1. Wenn Sie soweitermachen, werden Sie in kürzester Zeit ein Experte in der Java-Programmierung sein;deshalb können Sie in Erwartung Ihres künftigen Erfolgs eine große Party feiern.

Um die Party vorzubereiten, werde ich einen Kuchen backen. Da ich faul bin, werde ich einefertige Backmischung verwenden. Mal sehen ... rühren Sie die Mischung in Wasser ein, fügenSie Butter und Eier hinzu ... halt, einen Moment! Ich habe gerade einen Blick auf die Zutaten-liste geworfen. Was ist E466? Und warum steht hier Propylenglykol? Wird das nicht in Kühl-schränken verwendet?

Ich werde den Kuchen lieber ganz selber backen. Sicher – das ist etwas schwieriger, aber dannbekomme ich genau das, was ich will.

Computerprogramme funktionieren auf dieselbe Weise. Sie können das Programm eines an-deren Programmierers verwenden, oder Sie können das Programm selbst schreiben. WennSie auf Programme eines anderen Programmierers zurückgreifen, können Sie nur das ver-wenden, was Sie bekommen. Wenn Sie ein eigenes Programm schreiben, können Sie diesesgenau auf Ihre Anforderungen zuschneiden.

Das Erstellen von Software ist ein großer, weltweiter Wirtschaftszweig, in dem Firmen, Frei-berufler, Hobbyisten und andere Menschen tätig sind. Ein typisches Großunternehmen ver-fügt über Teams, Abteilungen und Fachbereiche, die Programme für das Unternehmen schrei-ben. Als Einzelperson können Sie Programme für sich selbst oder für andere Personen schrei-ben, um Ihren Lebensunterhalt zu verdienen oder weil Sie Spaß daran haben. Täglich werdenviele Millionen Zeilen von Code geschrieben. Fast alles, was mit einem Computer getan wer-den kann, können Sie – die entsprechende Zeit vorausgesetzt – selbst programmieren. (Natür-lich kann die »entsprechende Zeit« sehr lang sein, aber darum geht es nicht. Viele interessan-te und nützliche Programme können in Stunden oder sogar Minuten geschrieben werden.)

Java im Rahmen der historischen EntwicklungDie folgende Liste gibt einen kurzen Überblick über die Programmierung von Computern:

¡ 1954–1957: FORTRAN wird entwickelt.

FORTRAN (FORmula TRAnslator) war die erste moderne Programmiersprache. Die Spra-che eignet sich speziell zum Schreiben wissenschaftlicher Programme. Und FORTRANschafft es ganz an die Spitze. Jahr für Jahr zählt FORTRAN bei Computerprogrammierernauf der ganzen Welt zu den führenden Programmiersprachen.

¡ 1959: COBOL wird entwickelt.

COBOL (Common Business Oriented Language) wurde speziell für geschäftliche Anwen-dungen geschaffen. Die Hauptfunktion dieser Sprache besteht darin, größere Mengengleichartiger Geschäftsdaten (Datensätze, wie beispielsweise Kunden- oder Artikeldaten)effizient zu verarbeiten.

1 z Alles über Java

27

Page 5: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Innerhalb weniger Jahre entwickelte sich COBOL zur gebräuchlichsten Sprache für diegeschäftliche Datenverarbeitung. Selbst heute arbeitet noch ein großer Teil der Software-Branche mit COBOL.

¡ 1972: Dennis Ritchie entwickelt in den Bell-Laboratorien von AT&T die Programmier-sprache C.

Das Look&Feel der Beispiele in diesem Buch stammt von der Programmiersprache C.C-Code verwendet geschweifte Klammern, if-Befehle, for-Befehle usw.

Im Hinblick auf ihre Leistungsstärke ist die Programmiersprache C zum Lösen derselbenProbleme geeignet wie FORTRAN, Java oder andere moderne Programmiersprachen.(Man könnte auch in COBOL ein Programm für wissenschaftliche Berechnungen schrei-ben, aber es wäre etwas umständlich, COBOL zu diesem Zweck zu verwenden.) Der Unter-schied zwischen Programmiersprachen besteht nicht darin, wie leistungsstark sie sind,sondern darin, wie gut sie sich zur Lösung bestimmter Probleme eignen und wie leicht sieeinzusetzen sind. Gerade die letzte Eigenschaft ist bei Java stark ausgeprägt.

¡ 1986: Bjarne Stroustrup entwickelt (ebenfalls in den Bell-Laboratorien von AT&T) dieProgrammiersprache C++.

Im Gegensatz zu ihrer Vorgängerin C unterstützt die Sprache C++ das objektorientierteProgrammieren. Das war ein riesiger Fortschritt. (Lesen Sie dazu den nächsten Abschnittdieses Kapitels.)

¡ 23. Mai 1995: Sun Microsystems veröffentlicht die erste offizielle Version der Program-miersprache Java.

Java verbessert die Konzepte von C++. Die Java-Philosophie des »Write Once, Run Any-where« (einmal schreiben, überall ausführen) macht die Sprache zu einem idealen Werk-zeug für das Entwickeln von Code, der über das Internet verteilt werden soll.

Außerdem ist Java eine großartige Allzweck-Programmiersprache. Mit Java können Siefensterbasierte Anwendungen schreiben, Datenbanken erstellen und nutzen, Handheld-Computer steuern und andere Aufgaben lösen. Innerhalb von nur fünf Jahren entschiedensich weltweit 2,5 Millionen Entwickler für Java.

¡ November 2000: Die Vereinigung amerikanischer Colleges (das College Board) kündigtan, dass ab 2003 die Examina für die Vergabe von Studienplätzen für ein Informatikstu-dium in Java stattfinden werden.

Was glauben Sie wohl, welche Sprache die Schüler seitdem in der Schule lernen? Javanatürlich.

¡ 2002: Microsoft führt eine neue Sprache namens C# ein.

Viele Funktionsmerkmale der Sprache C# leiten sich direkt von Funktionsmerkmalen vonJava ab.

¡ Juni 2004: Sys-Con Media meldet, dass die Nachfrage nach Java-Programmierern dieNachfrage nach C++-Programmierern um 50 Prozent übersteigt. (Quelle: java.sys–con.com/node/48507)

Java 7 für Dummies

28

Page 6: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Und das war noch nicht alles! Die Nachfrage nach Java-Programmierern übertrifft dieNachfrage nach C++- und C#-Programmierern zusammen um 8 Prozent. Und die Nach-frage nach Java-Programmierern im Vergleich zu der Nachfrage nach VB-Programmie-rern (Visual Basic) beträgt sagenhafte 190 Prozent.

¡ Januar 2010: Oracle Corporation kauft Sun Microsystems und nimmt damit die Java-Technologie in die Oracle-Produktfamilie auf.

¡ Juni 2010: Die eWeek führt Java in ihren »Top 10 Programmiersprachen, die Sie beherr-schen sollten, um einen Job zu finden«. (Quelle: www.eweek.com/c/a/Application–Development/Top–10–Programming–Languages–to–Keep–You–Employed–719257/)

¡ Mai 2011: Java läuft auf mehr als 1,1 Milliarden Desktop-Computern. (Quelle: java.com/en/about/)

Java läuft auf 3 Milliarden Mobiltelefonen. Die Java-Technologie sorgt für die interaktivenFunktionen aller Blu-ray-Geräte. Java ist laut dem TIOBE Programming Community Indexdie beliebteste Programmiersprache. (Quelle: www.tiobe.com/index.php/content/paperinfo/tpci/)

Objektorientierte Programmierung (OOP)Es ist drei Uhr morgens. Ich träume von dem Geschichtskurs, den ich auf der Highschool vergeigthabe. Der Lehrer schreit mich an: »Du hast noch zwei Tage Zeit, um für die Abschlussprüfung zulernen, aber das wirst du vergessen. Du wirst es einfach vergessen und dich schuldig, schuldig undnochmals schuldig fühlen.«

Plötzlich klingelt das Telefon. Ich schrecke aus einer Tiefschlafphase hoch. (Sicher – der Traumüber meinen Geschichtskurs war nicht angenehm, aber aufgeweckt zu werden, ist noch unange-nehmer.) Zunächst lasse ich den Telefonhörer fallen. Nachdem ich ihn endlich wiedergefundenhabe, grummle ich: »Hallo, wer da?« Eine Stimme antwortet: »Ich bin Reporter bei The New YorkTimes. Ich schreibe einen Artikel über Java und muss alles über diese Programmiersprache wis-sen. Können Sie sie mir in fünf oder weniger Worten erklären?«

Ich bin zu schläfrig und kann nicht denken. Deshalb sage ich irgendetwas, das mir in den Sinnkommt; dann gehe ich wieder schlafen.

Am nächsten Morgen erinnere ich mich kaum an das Gespräch mit dem Reporter. Tatsächlichweiß ich nicht mehr, wie ich seine Frage beantwortet habe. Habe ich dem Reporter gesagt, was ermit seinem Artikel über Java tun könne?

Ich ziehe meinen Morgenmantel an und gehe zum Briefkasten vor meinem Haus. Als ich die Mor-genzeitung in die Hand nehme, fällt mein Blick auf eine riesige Schlagzeile:

Burd nennt Java »eine großartige objektorientierte Sprache«

Java ist objektorientiert. Was bedeutet das? Im Gegensatz zu Sprachen wie FORTRAN, derenSchwerpunkt darauf liegt, dem Computer Anweisungen der Form »Tue dies/tue das« zu geben,konzentrieren sich objektorientierte Sprachen auf Daten. Natürlich sagen auch objektorientierte

1 z Alles über Java

29

Page 7: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Programme dem Computer, was er tun soll. Sie beginnen jedoch damit, die Daten zu organi-sieren; die Befehle kommen später.

Objektorientierte Sprachen sind besser als »Tue dies/tue das«-Sprachen, weil sie Daten so or-ganisieren, dass sie auf vielfältige Art verwendet werden können. Um die Daten zu verändern,können Sie auf dem aufbauen, was Sie bereits haben, statt Ihre vorherige Arbeit zu verwerfenund jedes Mal von vorne anzufangen, wenn Sie etwas Neues machen. Obwohl Computerpro-grammierer im Allgemeinen recht intelligent sind, brauchten sie eine Weile, um dieses Ver-fahren zu entwickeln. Wenn Sie Näheres über die historische Entwicklung wissen wollen,sollten Sie den Kasten »Der verschlungene Weg von FORTRAN bis Java« lesen. (Sie müssenaber kein Schuldgefühl haben, wenn Sie ihn überspringen.)

Der verschlungene Weg von FORTRAN bis Java

In der Mitte der 50er-Jahre des 20. Jahrhunderts wurde eine Programmier-sprache namens FORTRAN entwickelt. FORTRAN war eine gute Sprache,

aber sie basierte auf der Idee, dem Computer direkte Anweisungen zu geben: »Computer,tue dies und dann tue das.« (Natürlich waren die Befehle in einem richtigen FORTRAN-Programn viel genauer als »tue dies« oder »tue das«.)

In den folgenden Jahren wurden viele weitere Computersprachen entwickelt, die das »Tuedies/tue das«-Modell von FORTRAN kopierten, unter anderem auch die Programmier-sprache C. Natürlich gab es auch Abweichler, die aus diesem »Tue dies/tue das«-Lagerausbrachen. In Sprachen namens SIMULA und SmallTalk verlagerten Programmierer dieimperativen »Tue dies«-Befehle in den Hintergrund und konzentrierten sich auf die Be-schreibungen der Daten. In diesen Sprachen sagten Sie nicht einfach: »Drucke ein Listeder überzogenen Konten.« Stattdessen sagten Sie zunächst: »Das ist unter einem Kontozu verstehen. Ein Konto hat einen Namen und einen Saldo.« Dann sagten Sie: »So musstdu vorgehen, um ein Konto zu fragen, ob es überzogen ist.« Plötzlich standen die Datenim Mittelpunkt. Ein Konto war ein Ding mit einem Namen, einem Saldo und einer Me-thode, mit der es mitteilen konnte, ob es überzogen war.

Sprachen, die sich zunächst auf die Daten konzentrieren, werden als objektorientierteProgrammiersprachen bezeichnet. Diese objektorientierten Programmiersprachen sindhervorragende Programmierwerkzeuge. Dies sind die Gründe:

¡ Zuerst über die Daten nachzudenken, zeichnet einen guten Computerprogrammiereraus.

¡ Sie können die Beschreibungen von Daten erweitern und für verschiedene Zweckewiederverwenden. Wenn Sie dagegen versuchen, die Arbeitsweise eines alten FOR-TRAN-Programms zu ändern, zeigen die alten Programme, wie brüchig sie sind. Siefunktionieren nicht mehr.

In den 70er-Jahren wurden objektorientierte Sprachen wie SIMULA und SmallTalk durchArtikel in Fachzeitschriften für Computerhobbyisten populär gemacht. Inzwischen ver-mehrten sich Sprachen, die auf dem alten FORTRAN-Modell basierten, wie Kaninchen.

Java 7 für Dummies

30

Page 8: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Im Jahre 1986 entwickelte Bjarne Stroustrup eine Sprache namens C++. Die C++-Spra-che verbreitete sich rasch, weil sie eng an die alte C-Sprache angelehnt war und zusätz-lich die Möglichkeit der objektorientierten Programmierung bot. Viele Unternehmengaben die alte FORTRAN/C-Programmierung auf und machten C++ zu ihrer Standard-programmiersprache.

Aber C++ hatte einen Mangel. In C++ ist es möglich, alle objektorientierten Funktionenzu missachten und Programme in dem alten FORTRAN/C-Programmierstil zu schreiben.Wenn Sie ein Buchhaltungsprogramm in C++ schreiben wollten, standen Sie vor einergrundlegenden Entscheidung:

¡ Sie konnten damit anfangen, »Tue dies«-Befehle für den Computer zu schreiben, undihn anweisen, eine Liste der überzogenen Konten zu drucken.

¡ Sie konnten einen objektorientierten Ansatz wählen und mit der Beschreibung begin-nen, was es heißt, ein Konto zu sein.

Einige Leute waren der Auffassung, dass C++ das Beste aus beiden Welten kombinierte.Andere meinten dagegen, dass die erste Welt (die Welt von FORTRAN und C) in einer mo-dernen Programmiersprache nichts zu suchen hätte. Die Wahlmöglichkeit würde Pro-grammierer zu oft dazu verleiten, beim Codieren den falschen Weg zu wählen.

Deshalb schuf James Gosling von Sun Microsystems im Jahre 1995 die Sprache Java. Vonder Syntax her lehnte er sich an das Look&Feel von C++ an, verzichtete aber auf die meis-ten alten prozeduralen Funktionen von C++. Dann fügte er Funktionen hinzu, die esleichter machten, Objekte zu entwickeln. Alles in allem schuf Gosling eine Sprache, dieeine reine und klare objektorientierte Philosophie zum Ausdruck bringt. Wenn Sie in Javaprogrammieren, müssen Sie mit Objekten arbeiten. Und so sollte es auch sein!

Objekte und ihre KlassenIn einer objektorientierten Sprache werden Daten mithilfe von Objekten und Klassen organi-siert.

Nehmen wir an, Sie wollten ein Computerprogramm entwickeln, um den Bau der Häuser ineiner neuen Siedlung zu verwalten. Die Häuser der Siedlung unterscheiden sich nur gering-fügig voneinander. Jedes Haus hat eine bestimmte Außenfarbe, einen bestimmten Innenan-strich, einen bestimmten Einrichtungsstil für die Küche usw. In Ihrem objektorientiertenComputerprogramm wird jedes Haus durch ein Objekt repräsentiert.

Objekte sind jedoch nicht alles. Obwohl sich die Häuser geringfügig unterscheiden, werdenalle Häuser mit denselben Eigenschaften beschrieben. Beispielsweise verfügt jedes Haus überdie Eigenschaft Außenfarbe oder die Eigenschaft Küchenstil. Deshalb benötigen Sie in Ihremobjektorientierten Programm ein Konstrukt, mit dem Sie alle Eigenschaften zusammenfassenkönnen, die ein Hausobjekt besitzen kann. Dieses Konstrukt, das diese Eigenschaften enthält,wird als Klasse bezeichnet.

1 z Alles über Java

31

Page 9: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Meiner Meinung nach ist die Bezeichnung objektorientierte Programmierung unvollständig.Man sollte besser vom Programmieren mit Klassen und Objekten sprechen.

Beachten Sie, dass ich das Wort Klassen zuerst genannt habe. Warum? Betrachten wir nocheinmal das Siedlungsprojekt: Irgendwo auf der Baustelle befindet sich in einem kleinen Bürodie Blaupause des Architekten. Eine Blaupause entspricht einer Klasse eines objektorientier-ten Programms. Eine Blaupause enthält eine Liste der Eigenschaften, die jedes Haus hat. DasVerhältnis zwischen der Blaupause und einem konkreten Haus ist das zwischen einer allge-meinen Eigenschaft und einer speziellen Ausprägung dieser Eigenschaft: Die Blaupause ent-hält die Eigenschaft Außenfarbe, und das konkrete Hausobjekt hat eine graue Außenfarbe. DieBlaupause enthält die Eigenschaft Küchenstil, und das konkrete Hausobjekt verfügt überLouis-XIV-Küchenschränke.

Die Analogie endet nicht mit Auflistungen von Eigenschaften. Es gibt noch eine weitere wich-tige Parallele zwischen Blaupausen und Klassen. Ein Jahr, nachdem Sie die Blaupause erstellthaben, können Sie diese nutzen, um zehn weitere Häuser zu bauen. Dasselbe gilt für Klassenund Objekte. Als Erstes schreibt der Programmierer den Code, der eine Klasse beschreibt. Undsobald das Programm läuft, erstellt der Computer Objekte aus der Klasse (die hier als Blau-pause dient).

Klassen und Objekte stehen also in der folgenden Beziehung zueinander: Der Programmiererdefiniert eine Klasse, und der Computer benutzt die Klassendefinition, um einzelne Objekte(Exemplare) dieser Klasse zu erstellen.

Welche Vorteile bietet eine objektorientierte Sprache?Wir wollen das Siedlungsbeispiel des vorangegangenen Abschnitts noch etwas ausbauen: Neh-men wir an, dass Sie bereits ein Computerprogramm geschrieben haben, um die Bauanwei-sungen für Häuser einer neuen Siedlung zu verwalten. Dann entscheidet der oberste Chef,dass der Bauplan geändert werden soll – die Hälfte der Häuser soll drei, die andere Hälfte vierSchlafzimmer haben.

Wenn Sie ein altes Computerprogramm im Stil von FORTRAN/C benutzen, würden Ihre An-weisungen beispielsweise wie folgt lauten:

Hebe die Baugrube aus.Befestige die Seitenwände der Grube mit Beton.Ziehe die Kellerwände hoch....

Eine solche Vorgehensweise würde einem Architekten entsprechen, der eine lange Liste vonAnweisungen anstelle einer Blaupause erstellt. Um einen solchen Plan zu ändern, müssten Siedie Liste durchsuchen, um die Anweisungen für den Bau der Schlafzimmer zu finden. DieSache wird noch dadurch erschwert, dass die Anweisungen über die Seiten 234, 324, 287,394–410, 739, 10 und 2 verstreut sein könnten. Wenn der Baustellenleiter die kompliziertenAnweisungen anderer Leute entziffern müsste, wäre die Aufgabe noch schwieriger.

Java 7 für Dummies

32

Page 10: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Wenn Sie jedoch mit einer Klasse beginnen, entspricht dies dem Arbeiten mit einer Blaupau-se. Wenn jemand entscheidet, sowohl Häuser mit drei als auch mit vier Schlafzimmern zubauen, können Sie mit einer Blaupause namens Haus-Blaupause beginnen, die über ein Erd-geschoss und eine erste Etage verfügt, aber auf der ersten Etage keine Innenwände enthält.Dann erstellen Sie zwei weitere Blaupausen für die erste Etage – die eine für das Haus mitdrei, die andere für das Haus mit vier Schlafzimmern. (Die neuen Blaupausen erhalten dieNamen Drei-Schlafzimmer-Haus-Blaupause und Vier-Schlafzimmer-Haus-Blaupause.)

Ihre Kollegen aus dem Baugewerbe staunen über Ihr logisches Vorgehen, haben aber noch ei-nige Bedenken: »Wie können Sie eine Blaupause als Drei-Schlafzimmer-Haus-Blaupause be-zeichnen, wenn die Blaupause nur für die erste Etage und nicht für ein ganzes Haus bestimmtist?«

Diese Frage haben Sie erwartet und antworten: »Die Blaupause für das Haus mit den dreiSchlafzimmern kann einen Vermerk enthalten, der besagt, dass sich die Informationen überdie anderen Geschosse in der ursprünglichen Haus-Blaupause befinden. Auf diese Weise kanndie Blaupause für das Haus mit den drei Schlafzimmern ein ganzes Haus beschreiben. DieBlaupause für das Haus mit den vier Schlafzimmern kann den gleichen Vermerk enthalten.Auf diese Weise ist es möglich, auf die Arbeit zurückzugreifen, die bereits geleistet wurde, umdie ursprüngliche Haus-Blaupause zu erstellen, und dadurch sehr viel Geld zu sparen.«

In der Sprache der objektorientierten Programmierung erben die Klassen für das Haus mitden drei bzw. den vier Schlafzimmern die Funktionen der ursprünglichen Haus-Klasse. Mankann auch sagen, dass die Klassen für das Haus mit den drei bzw. den vier Schlafzimmern dieursprüngliche Haus-Klasse erweitern (siehe Abbildung 1.1).

Die ursprüngliche Haus-Klasse wird als übergeordnete Klasse der Drei– und Vier–Schlaf-zimmer–Haus-Klassen bezeichnet. Umgekehrt gelten die Drei– und Vier–Schlafzimmer–Haus-Klassen als untergeordnete Klassen der ursprünglichen Haus-Klasse. Anders ausge-drückt: Die ursprüngliche Haus-Klasse ist die Oberklasse, Parent-Klasse oder Elternklasseder Drei– und Vier–Schlafzimmer–Haus-Klassen; und umgekehrt sind die Drei– undVier–Schlafzimmer–Haus-Klassen die Unterklassen oder Child-Klassen oder Kindklassender ursprünglichen Haus-Klasse (siehe Abbildung 1.1).

Natürlich sind Ihre Kollegen neidisch und wollen mehr über Ihre großartigen Ideen erfahren.Da lassen Sie noch eine Bombe platzen: »Indem wir eine Klasse mit Unterklassen erstellen,können wir die Blaupause auch in Zukunft wiederverwenden. Wenn jemand ein Fünf-Schlaf-zimmer-Haus haben möchte, können wir unsere ursprüngliche Haus-Blaupause erweitern,indem wir zusätzlich eine Fünf-Schlafzimmer-Haus-Blaupause erstellen. Wir müssen nie wie-der Geld für eine Blaupause des ursprünglichen Hauses ausgeben.«

»Aber«, sagt ein Kollege in der hinteren Reihe, »was passiert, wenn jemand im Erdgeschosseinen anderen Grundriss haben will? Werfen wir dann die ursprüngliche Haus-Blaupause wegoder fangen wir an, die ursprüngliche Blaupause zu ändern? Das wird teuer, nicht wahr?«

Selbstsicher antworten Sie: »Wir müssen die ursprüngliche Haus-Blaupause nicht ändern.Wenn jemand in seinem Wohnzimmer einen Whirlpool haben will, können wir eine neue,kleine Blaupause erstellen, die nur das neue Wohnzimmer beschreibt, und sie als Whirlpool-im-Wohnzimmer-Haus-Blaupause bezeichnen. Wenn es um den Rest des Hauses (der nicht

1 z Alles über Java

33

Page 11: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Haus-Klasse

Die Drei-Schlafzimmer-Haus-Klasse erweitert die Haus-Klasse, erbt die Funktionen der Haus-Klasse, ist eine Unterklasse der Haus-Klasse, ist ein Kind der Haus-Klasse.

Die Vier-Schlafzimmer-Haus-Klasse erweitert die Haus-Klasse, erbt die Funktionen der Haus-Klasse, ist eine Unterklasse der Haus-Klasse, ist ein Kind der Haus-Klasse.

Die Haus-Klasse ist die Oberklasse der Drei-Schlafzimmer-Haus-Klasse, die Elternklasse der Drei-Schlafzimmer-Haus-Klasse, die Oberklasse der Vier-Schlafzimmer-Haus-Klasse, die Elternklasse der Vier-Schlafzimmer-Haus-Klasse.

Oberklasse = Elternklasse

Drei-Schlafzimmer-Haus-Klasse

Vier-Schlafzimmer-Haus-Klasse

Unterklasse = KindklasseUnterklasse = Kindklasse

Abbildung 1.1: Terminologie beim objektorientierten Programmieren

zum Wohnzimmer gehört) geht, kann diese neue Blaupause auf die ursprüngliche Haus-Blau-pause verweisen.« In der Sprache der objektorientierten Programmierung erweitert auch dieWhirlpool-im-Wohnzimmer-Haus-Blaupause die ursprüngliche Haus-Blaupause. Auch dieWhirlpool-Blaupause ist eine Unterklasse der ursprünglichen Haus-Blaupause. Tatsächlichsind auch die Bezeichnungen übergeordnete Klasse, Elternklasse und Kindklasse anwendbar.Das einzig Neue ist, dass die Whirlpool-Blaupause die Wohnzimmerfunktionen in der ur-sprünglichen Haus-Blaupause überschreibt.

Vor dem Aufkommen der objektorientierten Sprachen befand sich die Software-Entwicklungin einer Krise. Programmierer schrieben Code, entdeckten neue Anforderungen und musstendann den Code verwerfen und von Grund auf neu anfangen. Dies passierte immer wieder, weildie Programmierer den Code, den sie bereits geschrieben hatten, nicht wiederverwendenkonnten. Die objektorientierte Programmierung löste dieses Problem weitgehend (und wieBurd sagte, ist Java »eine großartige objektorientierte Sprache«.

Das Verständnis von Klassen und Objekten vertiefenWenn Sie in Java programmieren, arbeiten Sie permanent mit Klassen und Objekten. Diesebeiden Begriffe sind wirklich wichtig. Deshalb präsentiere ich Ihnen in diesem Kapitel so vieleAnalogien zu Klassen und Objekten.

Schließen Sie die Augen, und stellen Sie sich für einen Moment einen Stuhl vor ...

Ein Stuhl verfügt über eine Sitzfläche, eine Lehne und Beine. Die Sitzfläche hat eine Form,eine Farbe, eine Polsterung usw. Dabei handelt es sich um Eigenschaften eines Stuhls. Wasich gerade beschrieben habe, macht das Wesen oder den Inbegriff eines Stuhls aus. Übertra-gen in die Terminologie der objektorientierten Programmierung bedeutet dies, dass ich dieStuhl-Klasse beschrieben habe.

Java 7 für Dummies

34

Page 12: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Wenn Sie sich umschauen, sehen Sie möglicherweise mehrere Stühle. (Falls nicht, stellen Siesich einfach mehrere Stühle vor.)

Im Raum befinden sich mehrere Stühle und jeder Stuhl ist ein Objekt. Jedes dieser Objekte istein Exemplar des ungreifbaren Dings, das wir als Stuhl-Klasse bezeichnen. Philosophisch ge-sprochen repräsentiert die Klasse die Idee der »Stuhlheit« oder das »Wesen des Stuhls«, wäh-rend jeder einzelne Stuhl ein Objekt ist.

Eine Klasse ist keine Sammlung von Dingen, sondern gewissermaßen der Begriffeines bestimmten Gegenstands. Wenn von der Klasse der Stühle in Ihrem Zim-mer die Rede ist, geht es um die Tatsache, dass jeder Stuhl über Beine, eine Sitz-fläche, Farben usw. verfügt. Die Stühle mögen sich farblich unterscheiden, aberdas spielt keine Rolle. Wenn von einer Klasse von Dingen die Rede ist, geht es umdie Eigenschaften, die alle Dinge dieser Klasse besitzen.

Ein Objekt kann als konkretes Exemplar einer Klasse betrachtet werden. In der Terminologieder objektorientierten Programmierung hat sich dafür auch die Bezeichnung Instanz einerKlasse eingebürgert. Wenn Sie ein Java-Programm schreiben, in dem Sie eine Stuhl-Klassedefinieren, wird jeder konkrete Stuhl (der Stuhl, auf dem Sie sitzen, der leere Stuhl, derneben Ihnen steht usw.) als eine Instanz der Stuhl-Klasse bezeichnet.

Das folgende Beispiel zeigt eine weitere Variante, über Klassen nachzudenken. Nehmen wiran, dass Sie über drei Bankkonten verfügen (siehe Tabelle 1.1).

Kontonummer Typ Saldo

1613154228 Girokonto 174,87

1011123421 Kreditkonto -471,03

1617238133 Sparkonto 247,38

Tabelle 1.1: Eine Tabelle mit Konten

Betrachten Sie die Zeile mit den Spaltenüberschriften der Tabelle als eine Klasse und jede an-dere Zeile der Tabelle als ein Objekt. Die Spaltenüberschriften der Tabelle beschreiben dieKonto-Klasse.

Danach verfügt jedes Konto über eine Kontonummer, einen Typ und einen Saldo. Oder in derTerminologie der objektorientierten Programmierung: Jedes Objekt in der Konto-Klasse (dasheißt, jede Instanz der Konto-Klasse) hat eine Kontonummer, einen Typ und einen Saldo.Beispielsweise zeigt die untere Tabellenzeile ein Objekt mit der Kontonummer 1617238133,dem Typ Sparkonto und dem Saldo 247,38. Wenn Sie ein neues Konto eröffnen würden, wür-den Sie über ein weiteres Objekt verfügen, und die Tabelle würde um eine Zeile wachsen. Dasneue Objekt wäre eine Instanz derselben Konto-Klasse.

1 z Alles über Java

35

Page 13: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Wie geht es weiter?Dieses Kapitel enthält viele allgemeine Beschreibungen von Dingen. Eine allgemeine Be-schreibung ist angebracht, wenn Sie gerade anfangen, aber die Dinge noch nicht wirklich ver-stehen, bis Sie einige spezielle Einzelheiten kennengelernt haben. Deshalb befassen wir uns inden folgenden Kapiteln zunächst mit den speziellen Einzelheiten.

Bitte blättern Sie deshalb weiter. Das nächste Kapitel wartet schon auf Sie.

Java 7 für Dummies

Page 14: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Inhaltsverzeichnis

Einführung 17Wie Sie dieses Buch benutzen sollten 17Konventionen, die in diesem Buch verwendet werden 17Was Sie nicht lesen müssen 18Einige einfache Annahmen 19Wie dieses Buch aufgebaut ist 20

Teil I: Die Grundlagen 20Teil II: Eigene Java-Programme schreiben 20Teil III: Ein Überblick über die objektorientierte Programmierung 20Teil IV: Fortgeschrittene Java-Techniken 20Teil V: Der Top-Ten-Teil 21Symbole, die in diesem Buch benutzt werden 21

Wie geht es weiter? 21

Teil IDie Grundlagen 23

Kapitel 1Alles über Java 25

Was leistet Java? 26Warum sollten Sie Java verwenden? 27Java im Rahmen der historischen Entwicklung 27Objektorientierte Programmierung (OOP) 29Objekte und ihre Klassen 31Welche Vorteile bietet eine objektorientierte Sprache? 32Das Verständnis von Klassen und Objekten vertiefen 34Wie geht es weiter? 36

Kapitel 2Alles über die Software 37

Anweisungen für den Schnellstart 37Was Sie auf Ihrem Computer installieren 38

Was ist ein Compiler? 39Was ist eine Java Virtual Machine? 42Und was ist eigentlich Java? 46Software entwickeln 47

Was ist eine integrierte Entwicklungsumgebung(Integrated Development Environment)? 49

9

Page 15: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Kapitel 3Die Grundbausteine von Java verwenden 53

Die Java-Sprache sprechen 53Die Grammatik und die gebräuchlichen Wörter 53Die Wörter in einem Java-Programm 55

Fremde Java-Programme lesen 56Eigene Java-Programme in Eclipse anlegen 58Ein einfaches Java-Programm verstehen 59

Die Java-Klasse 59Die Java-Methode 60Die main-Methode eines Programms 61Wie dem Computer Anweisungen gegeben werden 62Geschweifte Klammern 64

Und jetzt einige Kommentare 67Kommentare zu Ihrem Code hinzufügen 67Welche Entschuldigung kann Barry vorbringen? 70Kommentare für Experimente mit dem Code verwenden 70

Teil IIEigene Java-Programme schreiben 73

Kapitel 4Variablen und ihre Werte 75

Grundlagen 75Zuweisungsbefehle 77Die Typen der Werte von Variablen verstehen 78Text anzeigen 80Ganzzahlen 81Die Deklaration und Initialisierung von Variablen kombinieren 82Die Atome: Die primitiven Typen von Java 83

Der char-Typ 83Der boolean-Typ 85

Die Moleküle und Verbindungen: Referenztypen 86Eine Importdeklaration 90Mit Operatoren neue Werte erstellen 92

Einmal initialisieren, mehrfach zuweisen 95Die Inkrement- und Dekrement-Operatoren 95Zuweisungsoperatoren 99

Java 7 für Dummies

10

Page 16: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Kapitel 5Den Programmablauf mit Entscheidungen steuern 101

Entscheidungen fällen (if-Befehle) 101Eine Zahl raten 101Tastatureingaben lesen 102Zufallszahlen generieren 104Der if-Befehl 105Das doppelte Gleichheitszeichen 105Geschweifte Klammern 106Den Code bei if-Befehlen einrücken 106if-Befehle ohne else-Zweig 107

Bedingungen mit Vergleichs- und logischen Operatoren bilden 108Vergleichsoperatoren für Zahlen und Zeichen 108Objekte vergleichen 109Alles auf einmal importieren 111Logische Operatoren 112Null und nichtig 115(Bedingungen in Klammern) 116

Befehle verschachteln 117Unter mehreren Alternativen wählen (switch) 119

Der switch-Befehl 119Fehlerhafte break-Befehle 123Und jetzt kommt Java 7 124

Kapitel 6Den Programmablauf mit Schleifen steuern 127

Anweisungen mehrfach wiederholen (while) 127Eine Anzahl von Malen wiederholen (for) 130

Anatomie eines for-Befehls 132Die Weltpremiere von »Al’s All Wet« 132

Schleifen mit einer Endbedingung (do) 134Ein einzelnes Zeichen lesen 137Dateiverarbeitung in Java 137Variablendeklarationen und Blöcke 138

Teil IIIEin Überblick über die objektorientierte Programmierung 139

Kapitel 7In Klassen und Objekten denken 141

Eine Klasse definieren (die Essenz eines Kontos) 141Eine öffentliche Klasse 143

Inhaltsverzeichnis

11

Page 17: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Variablen deklarieren und Objekte erstellen 144Eine Variable initialisieren 146Die Felder eines Objekts verwenden 146

Ein Programm, mehrere Klassen 147Eine Methode in einer Klasse definieren (ein Konto anzeigen) 147

Ein Konto, das sich selbst anzeigt 148Der Kopf der display-Methode 149

Argumente und Rückgabewerte (Zinsen berechnen) 150Einen Wert an eine Methode übergeben 153Der Rückgabewert der getZinsen-Methode 154Zahlen formatieren 156

Einzelheiten mit Zugriffsmethoden verbergen 159Gutes Programmieren 160Variablen vor externem Zugriff schützen 162Regeln mit Zugriffsmethoden erzwingen 164

Kapitel 8Zeit und Geld sparen: Vorhandenen Code wiederverwenden 165

Eine Klasse definieren (ein Beispiel für eine Mitarbeiter-Klasse) 165Mit der Mitarbeiter-Klasse arbeiten 167Einen Scheck ausstellen 168

Mit Festplattendateien arbeiten (ein kurzer Abstecher) 169Daten in einer Datei speichern 170Code kopieren und einfügen 170Daten aus einer Datei einlesen 171Wer hat meine Datei verschoben? 174Verzeichnisnamen zu Dateinamen hinzufügen 175Daten zeilenweise einlesen 175

Unterklassen definieren (Vollzeit- und Teilzeit-Mitarbeiter) 177Eine Unterklasse erstellen 179Unterklassen zu bilden ist gewohnheitsbildend 181

Mit Unterklassen arbeiten 182Eine minimalistische Lösung 182Typen abgleichen 183Die Verarbeitung von TeilzeitMitarbeiter-Objekten 184

Vorhandene Methoden überschreiben (Zahlungen für einige Mitarbeiter ändern) 185Eine Java-Annotation 187Methoden aus Klassen und Unterklassen verwenden 187

Java 7 für Dummies

12

Page 18: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Kapitel 9Neue Objekte konstruieren 189

Konstruktoren definieren 189Was ist eine Temperatur 189Was ist eine Temperaturskala? 190Also gut, was also ist eine Temperatur? 190Eine Anwendung der Temperatur-Klasse 192Eine Fallstudie: »new Temperatur(32.0)« aufrufen 195Einige Dinge ändern sich nie 196

Weitere Unterklassen 198Eine bessere Klasse zur Speicherung von Temperaturen 198Konstruktoren für Unterklassen 199Die TemperaturAusgabe-Klasse anwenden 200Der Standardkonstruktor 201

Ein Konstruktor, der mehr leistet 203Klassen und Methoden aus dem Java-API 204Die Annotation SuppressWarnings 206

Kapitel 10Der richtige Platz für Variablen und Methoden 209

Eine Klasse definieren (eine Baseballspieler-Klasse) 209Zahlen auf andere Art formatieren 210Die Player-Klasse verwenden 211Der Player-Konstruktor 213Die GUI-Elemente 213Eine Ausnahme von Methode zu Methode weiterreichen 215

Statische Variablen (den Team-Durchschnitt bilden) 215Warum sind die static-Deklarationen erforderlich? 217Die statische Initialisierung 218Den Team-Durchschnitt anzeigen 219static ist ein alter Hut 221static richtig einsetzen 222

Experimente mit Variablen 222Eine Variable richtig platzieren 223Wohin gehört eine Variable? 225

Parameter übergeben 228Übergabe als Wert 228Ein Ergebnis zurückgeben 230Übergabe per Referenz 230Ein Objekt von einer Methode zurückgeben 232

Epilog 234

Inhaltsverzeichnis

13

Page 19: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Teil IVFortgeschrittene Java-Techniken 235

Kapitel 11Mit Arrays mehrere Werte auf einmal verwalten 237

Was sind Arrays? 237Ein Array in zwei einfachen Schritten erstellen 239Werte speichern 240Tabstopps und andere Sonderzeichen 242Einen Array-Initialisierer verwenden 242Ein Array mit einer verbesserten for-Schleife durchlaufen 243Suchen 244

Arrays von Objekten 248Die Room-Klasse verwenden 249Eine andere Methode, Zahlen zu formatieren 252Der Bedingungsoperator 253

Befehlszeilenargumente 254Befehlszeilenargumente in einem Java-Programm verwenden 255Die korrekte Zahl der Befehlszeilenargumente prüfen 257

Java-Collections verwenden 258Die Rettung: Collection-Klassen 259Eine ArrayList verwenden 259Generische Typen verwenden (heißes Thema!) 261Testen, ob weitere Daten vorhanden sind 263

Kapitel 12Umgang mit schwierigen Situationen 265

Ausnahmen bearbeiten 265Die Parameter in einer catch-Klausel 269Ausnahmetypen 270In welchem Code-Teil wird eine Ausnahme verarbeitet? 271Java 7 und die Multi-Catch-Klausel 278Mögliche und unmögliche Ausnahmen 279Nützliches tun 279Ausnahmen im normalen Programmablauf 280

Eine Ausnahme verarbeiten oder weitergeben 281Eine Ausnahmebehandlung mit einer finally-Klausel abschließen 285

Die finally-Methode 285Dateien sind zu schließen! 287

Java 7 für Dummies

14

Page 20: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Kapitel 13Namen zwischen Teilen eines Java-Programms austauschen 291

Zugriffsmodifizierer 291Klassen, Zugriff und mehrteilige Programme 291

Elemente im Gegensatz zu Klassen 292Zugriffsmodifizierer für Elemente 293Eine Zeichnung in einen Frame einfügen 295Verzeichnisstruktur 297Einen Frame erstellen 298

Den ursprünglichen Code ändern 300Standardzugriff 301Ein Paket erweitern 304

Der Zugriffsmodifizierer »protected« 304Variable als protected deklarieren 304Gleichrangige Klassen in dasselbe Paket einfügen 306

Zugriffsmodifizierer für Java-Klassen 308Öffentliche (public) Klassen 308Nichtöffentliche Klassen 308

Kapitel 14Auf Tastenanschläge und Mausklicks reagieren 311

Weiter ... Klicken Sie auf diese Schaltfläche 311Ereignisse und Ereignisverarbeitung 313Java-Interfaces 314Ausführungsthreads 315Das Schlüsselwort this 316Die Arbeitsweise der actionPerformed-Methode 317Die serialVersionUID 317

Auf andere Ereignisse als Schaltflächenklicks reagieren 318Innere Klassen erstellen 323

Kapitel 15Java-Applets schreiben 327

Eine Einführung in Applets 327Auf den Aufruf warten 328Eine öffentliche Klasse 329Noch einmal: das Java-API 329

Animationen programmieren 330Die Methoden in einem Applet 332Was diese Methoden machen 333

Auf die Ereignisse in einem Applet reagieren 334

Inhaltsverzeichnis

15

Page 21: Java 7 für Dummies - docs.media.bitpipe.comdocs.media.bitpipe.com/io_20x/io_20097/item_651123/Java-for... · Warum sollten Sie Java verwenden? Zeit zum Feiern! Sie haben zu diesem

Kapitel 16Mit der Java Database Connectivity arbeiten 337

JDBC und Java DB 337Daten erstellen 338

SQL-Befehle verwenden 340Verbinden und trennen 341

Daten laden 342

Teil VDer Top-Ten-Teil 345

Kapitel 17Zehn Möglichkeiten, Fehler zu vermeiden 347

Die korrekte Groß- und Kleinschreibung 347Aus einem switch-Befehl ausbrechen 347Werte mit einem doppelten Gleichheitszeichen vergleichen 348Komponenten zu einer GUI hinzufügen 348Listener hinzufügen, um Ereignisse zu verarbeiten 349Benötigte Konstruktoren definieren 349Nichtstatische Referenzen korrigieren 349Array-Grenzen beachten 350Null-Zeiger voraussetzen 350Java helfen, Dateien zu finden 351

Kapitel 18Zehn Onlinequellen für Java 353

Die Quelle von Java 353Nachrichten, Besprechungen und Beispielcode finden 353Code mit Tutorials verbessern 354Hilfe in Newsgroups finden 354Die FAQs nach nützlichen Informationen durchforschen 354Märkte und Meinungen 355Java-Jobs suchen 355Java-Zertifikate erwerben 355Servlets entwickeln 355Jedermanns Lieblingssites 355

Stichwortverzeichnis 357

Java 7 für Dummies

16