diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Master/Reference Architectures and Patterns/hjp5/html/k100053.html | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100053.html')
| -rw-r--r-- | Master/Reference Architectures and Patterns/hjp5/html/k100053.html | 431 |
1 files changed, 431 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100053.html b/Master/Reference Architectures and Patterns/hjp5/html/k100053.html new file mode 100644 index 0000000..764f747 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100053.html @@ -0,0 +1,431 @@ +<html>
+<head>
+<title>
+Handbuch der Java-Programmierung, 5. Auflage
+</title>
+</head>
+<body>
+<a name="startofbody"></a>
+<script language="JavaScript" src="hjp4lib.js">
+</script>
+<script language="JavaScript">
+installKbdHandler("97,#startofbody;101,#endofbody;116,cover.html;122,k100003.html;115,search.html;105,index.html;100,JDKDOCS;112,APIDOCS;104,k100051.html;106,k100052.html;107,k100054.html;108,k100057.html");
+</script>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100051.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100052.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100054.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100057.html"> >> </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
+<td align="right">Kapitel 8 - OOP II: Vererbung, Polymorphismus und statische Elemente
+</table>
+<hr>
+
+
+<!-- Section -->
+<a name="modifier"></a>
+<h2>8.2 <a name="ixa100516">Modifier</a></h2>
+<hr>
+<ul>
+<li><a href="k100053.html#modifier">8.2 Modifier</a>
+<ul>
+<li><a href="k100053.html#sectlevel3id008002001">8.2.1 Sichtbarkeit</a>
+<li><a href="k100053.html#sectlevel3id008002002">8.2.2 Die Attribute im Überblick</a>
+<ul>
+<li><a href="k100053.html#sectlevel4id008002002001">private</a>
+<li><a href="k100053.html#sectlevel4id008002002002">protected</a>
+<li><a href="k100053.html#sectlevel4id008002002003">public</a>
+<li><a href="k100053.html#sectlevel4id008002002004">Standard (package scoped)</a>
+<li><a href="k100053.html#sectlevel4id008002002005">static</a>
+<li><a href="k100053.html#sectlevel4id008002002006">final</a>
+<li><a href="k100053.html#sectlevel4id008002002007">transient</a>
+<li><a href="k100053.html#sectlevel4id008002002008">volatile</a>
+</ul>
+</ul>
+</ul>
+<hr>
+
+<p>
+In diesem Kapitel wurden an verschiedenen Stellen Beispiele gezeigt,
+in denen Schlüsselwörter wie <a href="index_p.html#ixb100084"><font color=#000080><tt>public</tt></font></a>
+oder <a href="index_p.html#ixb100085"><font color=#000080><tt>private</tt></font></a>
+zusammen mit bestimmten Programmelementen verwendet wurden. Mit Hilfe
+dieser Attribute können die Eigenschaften von Klassen, Methoden
+und Variablen verändert werden. Sie haben insbesondere Einfluss
+auf die <a name="ixa100517"><i>Lebensdauer</i></a>, <i>Sichtbarkeit</i>
+und <a name="ixa100518"><i>Veränderbarkeit</i></a> dieser Programmelemente
+und werden meist als <i>Modifier</i> bezeichnet. Wir wollen sie nun
+im Zusammenhang betrachten und ihre Wirkungsweise auf die verschiedenen
+Elemente eines Java-Programms erläutern.
+
+<!-- Section -->
+
+<a name="sectlevel3id008002001"></a>
+<h3>8.2.1 <a name="ixa100519">Sichtbarkeit</a></h3>
+
+<p>
+Die eingangs erwähnte Tatsache, dass in einer abgeleiteten Klasse
+alle Eigenschaften der Basisklasse übernommen werden, ist nicht
+in allen Fällen ganz korrekt. Zwar besitzt sie immer alle Variablen
+und Methoden der Basisklasse, kann aber unter Umständen nicht
+darauf zugreifen, wenn ihre Sichtbarkeit eingeschränkt wurde.
+
+<p>
+Die Sichtbarkeit von Variablen und Methoden wird mit Hilfe folgender
+Modifier geregelt:
+<ul>
+<li>Elemente des Typs <a name="ixa100520"><a href="index_p.html#ixb100084"><font color=#000080><tt>public</tt></font></a></a>
+sind in der Klasse selbst (also in ihren Methoden), in Methoden abgeleiteter
+Klassen und für den Aufrufer von Instanzen der Klasse sichtbar.
+<li>Elemente des Typs <a name="ixa100521"><a href="index_p.html#ixb100086"><font color=#000080><tt>protected</tt></font></a></a>
+sind in der Klasse selbst und in Methoden abgeleiteter Klassen sichtbar.
+Zusätzlich können Klassen desselben Pakets sie aufrufen.
+<li>Elemente des Typs <a name="ixa100522"><a href="index_p.html#ixb100085"><font color=#000080><tt>private</tt></font></a></a>
+sind lediglich in der Klasse selbst sichtbar. Für abgeleitete
+Klassen und für Aufrufer von Instanzen bleiben <a href="index_p.html#ixb100085"><font color=#000080><tt>private</tt></font></a>-Variablen
+verdeckt.
+<li>Elemente, die ohne einen der drei genannten Modifier deklariert
+wurden, werden als <a name="ixa100523"><i>package scoped</i></a> oder
+Elemente mit <a name="ixa100524"><i>Standard-Sichtbarkeit</i></a>
+bezeichnet. Sie sind nur innerhalb des Pakets sichtbar, zu dem diese
+Klasse gehört. In anderen Paketen sind sie dagegen unsichtbar.
+</ul>
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100%>
+<tr>
+<td width=1 align=left valign=top bgcolor="#0099CC"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=1></td>
+<td width=1 align=left valign=top bgcolor="#0099CC"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top width=1000>
+
+<p>
+Mit Hilfe dieser Sichtbarkeitsebenen kann der Zugriff auf Klassenelemente
+eingeschränkt werden. <a href="index_p.html#ixb100085"><font color=#000080><tt>private</tt></font></a>-Elemente
+sollten immer dann verwendet werden, wenn implementierungsabhängige
+Details zu verstecken sind, die auch in abgeleiteten Klassen nicht
+sichtbar sein sollen. <a href="index_p.html#ixb100086"><font color=#000080><tt>protected</tt></font></a>-Elemente
+sind vor Zugriffen von außen geschützt, können aber
+von abgeleiteten Klassen verwendet werden. Die <a href="index_p.html#ixb100084"><font color=#000080><tt>public</tt></font></a>-Elemente
+schließlich bilden die für alle sichtbaren Teile einer
+Klassendefinition und können daher als ihre Schnittstelle angesehen
+werden. Nachfolgend werden die verschiedenen Sichtbarkeitsattribute
+noch einmal genau beschrieben. Elemente mit Standard-Sichtbarkeit
+verhalten sich innerhalb des Pakets wie <a href="index_p.html#ixb100084"><font color=#000080><tt>public</tt></font></a>-
+und außerhalb wie <a href="index_p.html#ixb100085"><font color=#000080><tt>private</tt></font></a>-Elemente.</td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top>
+<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#0099CC">
+<tr>
+<td><font color="#FFFFFF"> Tipp </font></td>
+</tr>
+</table>
+</td>
+<td width=1 align=left valign=top bgcolor="#0099CC"><img src="trp1_1.gif"></td>
+</tr>
+</table>
+
+
+<!-- Section -->
+<a name="sectlevel3id008002002"></a>
+<h3>8.2.2 Die Attribute im Überblick </h3>
+
+<p>
+Nachfolgend wollen wir die wichtigsten Attribute noch einmal zusammenfassend
+darstellen und ihre jeweiligen Auswirkungen auf die Sichtbarkeit,
+Lebensdauer oder Veränderbarkeit von Variablen, Methoden und
+Klassen beschreiben.
+
+<!-- Section -->
+
+<a name="sectlevel4id008002002001"></a>
+<h4>private </h4>
+
+<p>
+Methoden oder Variablen vom Typ <a name="ixa100525"><a href="index_p.html#ixb100085"><font color=#000080><tt>private</tt></font></a></a>
+sind nur in der aktuellen Klasse sichtbar, in allen anderen Klassen
+bleiben sie dagegen unsichtbar.
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100%>
+<tr>
+<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top width=1000>
+
+<p>
+Diese Einschränkung bedeutet überraschenderweise nicht,
+dass die Methoden einer Klasse nur auf die privaten Membervariablen
+des eigenen Objekts zugreifen dürfen. Vielmehr ist ebenfalls
+möglich, (quasi von außen) auf die <a href="index_p.html#ixb100085"><font color=#000080><tt>private</tt></font></a>-Variablen
+eines <i>anderen</i> Objekts zuzugreifen. Vorausgesetzt, es handelt
+sich um eine Instanz derselben Klasse.
+
+<p>
+Das folgende Beispielprogramm demonstriert dies mit Hilfe der Klasse
+<font color="#000077"><tt>ClassWithPrivateA</tt></font>, die eine
+private Membervariable <font color="#000077"><tt>a</tt></font> besitzt.
+An der Implementierung von <font color="#000077"><tt>setOtherA</tt></font>
+können wir erkennen, wie der Zugriff auf fremde Objekte desselben
+Typs möglich ist:
+<a name="listingid008006"></a>
+
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor="#DDDDDD">
+<tr>
+<td valign=top>
+<font color="#000055">
+<pre>
+<font color="#555555">001 </font><font color="#00AA00">/* Listing0806.java */</font>
+<font color="#555555">002 </font>
+<font color="#555555">003 </font><font color="#0000AA">public</font> <font color="#0000AA">class</font> Listing0806
+<font color="#555555">004 </font>{
+<font color="#555555">005 </font> <font color="#0000AA">public</font> <font color="#0000AA">static</font> <font color="#006699">void</font> main(String[] args)
+<font color="#555555">006 </font> {
+<font color="#555555">007 </font> ClassWithPrivateA a1 = <font color="#0000AA">new</font> ClassWithPrivateA(7);
+<font color="#555555">008 </font> ClassWithPrivateA a2 = <font color="#0000AA">new</font> ClassWithPrivateA(11);
+<font color="#555555">009 </font> a2.setOtherA(a1, 999);
+<font color="#555555">010 </font> System.out.println(<font color="#0000FF">"a1 = "</font> + a1.toString());
+<font color="#555555">011 </font> System.out.println(<font color="#0000FF">"a2 = "</font> + a2.toString());
+<font color="#555555">012 </font> }
+<font color="#555555">013 </font>}
+<font color="#555555">014 </font>
+<font color="#555555">015 </font><font color="#0000AA">class</font> ClassWithPrivateA
+<font color="#555555">016 </font>{
+<font color="#555555">017 </font> <font color="#0000AA">private</font> <font color="#006699">int</font> a;
+<font color="#555555">018 </font>
+<font color="#555555">019 </font> <font color="#0000AA">public</font> ClassWithPrivateA(<font color="#006699">int</font> a)
+<font color="#555555">020 </font> {
+<font color="#555555">021 </font> <font color="#006699">this</font>.a = a;
+<font color="#555555">022 </font> }
+<font color="#555555">023 </font>
+<font color="#555555">024 </font> <font color="#0000AA">public</font> <font color="#006699">void</font> setOtherA(ClassWithPrivateA other, <font color="#006699">int</font> newvalue)
+<font color="#555555">025 </font> {
+<font color="#555555">026 </font> other.a = newvalue;
+<font color="#555555">027 </font> }
+<font color="#555555">028 </font>
+<font color="#555555">029 </font> <font color="#0000AA">public</font> String toString()
+<font color="#555555">030 </font> {
+<font color="#555555">031 </font> <font color="#0000AA">return</font> <font color="#0000FF">""</font> + a;
+<font color="#555555">032 </font> }
+<font color="#555555">033 </font>}</pre>
+</font>
+</td>
+<td valign=top align=right>
+<a href="../examples/Listing0806.java"><font color="#000055" size=-1>Listing0806.java</font></a></td>
+</tr>
+</table>
+<i>
+Listing 8.6: Zugriff auf fremde private Membervariablen</i></p>
+</td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top>
+<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#000077">
+<tr>
+<td><font color="#FFFFFF"> Hinweis </font></td>
+</tr>
+</table>
+</td>
+<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
+</tr>
+</table>
+
+<p>
+An der Ausgabe des Programms kann man erkennen, dass über das
+Objekt <i>a2</i> auf private Membervariablen des Objekts <i>a1</i>
+zugegriffen wurde:
+<font color="#000077">
+<pre>
+a1 = 999
+a2 = 11
+</pre>
+</font>
+
+
+<!-- Section -->
+<a name="sectlevel4id008002002002"></a>
+<h4>protected </h4>
+
+<p>
+Methoden oder Variablen vom Typ <a name="ixa100526"><a href="index_p.html#ixb100086"><font color=#000080><tt>protected</tt></font></a></a>
+sind in der aktuellen Klasse und in abgeleiteten Klassen sichtbar.
+Darüber hinaus sind sie für Methoden anderer Klassen innerhalb
+desselben Pakets sichtbar. Sie sind jedoch nicht für Aufrufer
+der Klasse sichtbar, die in anderen Paketen definiert wurden.
+
+<!-- Section -->
+
+<a name="sectlevel4id008002002003"></a>
+<h4>public </h4>
+
+<p>
+Membervariablen und Methoden vom Typ <a name="ixa100527"><a href="index_p.html#ixb100084"><font color=#000080><tt>public</tt></font></a></a>
+sind im Rahmen ihrer Lebensdauer überall sichtbar. Sie können
+daher in der eigenen Klasse und von beliebigen Methoden anderer Klassen
+verwendet werden. Das Attribut <a href="index_p.html#ixb100084"><font color=#000080><tt>public</tt></font></a>
+ist zusätzlich auch bei der Klassendefinition selbst von Bedeutung,
+denn nur Klassen, die als <a href="index_p.html#ixb100084"><font color=#000080><tt>public</tt></font></a>
+deklariert wurden, sind außerhalb des Pakets sichtbar, in dem
+sie definiert wurden. In jeder Quelldatei darf nur eine Klasse mit
+dem Attribut <a href="index_p.html#ixb100084"><font color=#000080><tt>public</tt></font></a>
+angelegt werden.
+
+<!-- Section -->
+
+<a name="sectlevel4id008002002004"></a>
+<h4>Standard (<a name="ixa100528">package scoped</a>) </h4>
+
+<p>
+Klassen, Methoden, Variablen mit Standard-Sichtbarkeit sind nur innerhalb
+des Pakets sichtbar, in dem sie definiert wurden. Sie sind beispielsweise
+nützlich, um in aufwändigeren Paketen allgemein zugängliche
+Hilfsklassen zu realisieren, die außerhalb des Pakets unsichtbar
+bleiben sollen. Sie können mitunter nützlich sein, um zu
+verhindern, dass Elemente als <a href="index_p.html#ixb100084"><font color=#000080><tt>public</tt></font></a>
+deklariert werden.
+
+<!-- Section -->
+
+<a name="sectlevel4id008002002005"></a>
+<h4>static </h4>
+
+<p>
+Variablen und Methoden mit dem Attribut <a name="ixa100529"><a href="index_s.html#ixb100422"><font color=#000080><tt>static</tt></font></a></a>
+sind nicht an die Existenz eines konkreten Objekts gebunden, sondern
+existieren vom Laden der Klasse bis zum Beenden des Programms. Das
+<a href="index_s.html#ixb100422"><font color=#000080><tt>static</tt></font></a>-Attribut
+beeinflusst bei Membervariablen ihre Lebensdauer und erlaubt bei Methoden
+den Aufruf, ohne dass der Aufrufer ein Objekt der Klasse besitzt,
+in der die Methode definiert wurde.
+
+<p>
+Wird das Attribut <a href="index_s.html#ixb100422"><font color=#000080><tt>static</tt></font></a>
+nicht verwendet, so sind Variablen innerhalb einer Klasse immer an
+eine konkrete Instanz gebunden. Ihre Lebensdauer beginnt mit dem Anlegen
+des Objekts und dem Aufruf eines Konstruktors und endet mit der Freigabe
+des Objekts durch den Garbage Collector.
+
+<!-- Section -->
+
+<a name="sectlevel4id008002002006"></a>
+<h4>final </h4>
+
+<p>
+Membervariablen mit dem Attribut <a name="ixa100530"><a href="index_f.html#ixb100401"><font color=#000080><tt>final</tt></font></a></a>
+dürfen nicht verändert werden, sind also als <i>Konstanten</i>
+anzusehen. Methoden des Typs <a href="index_f.html#ixb100401"><font color=#000080><tt>final</tt></font></a>
+dürfen nicht überlagert werden; ebensowenig dürfen
+Klassen des Typs <a href="index_f.html#ixb100401"><font color=#000080><tt>final</tt></font></a>
+zur Ableitung neuer Klassen verwendet werden. Wird das Attribut <a href="index_f.html#ixb100401"><font color=#000080><tt>final</tt></font></a>
+dagegen nicht verwendet, sind Membervariablen veränderbar, können
+Methoden überlagert und Klassen abgeleitet werden.
+
+<p>
+Falls eine Methode oder Klasse das Attribut <a href="index_f.html#ixb100401"><font color=#000080><tt>final</tt></font></a>
+besitzt, kann der Compiler auf die dynamische Methodensuche verzichten.
+<a href="index_f.html#ixb100401"><font color=#000080><tt>final</tt></font></a>-Methoden
+können daher performanter aufgerufen werden als normale Methoden.
+Dies ist einer der Gründe dafür, dass die Java-Designer
+einige der mitgelieferten Klassen als <a href="index_f.html#ixb100401"><font color=#000080><tt>final</tt></font></a>
+deklariert haben. Es führt aber gleichzeitig dazu, dass die entsprechenden
+Klassen nicht mehr erweitert werden können. Ein prominentes Beispiel
+aus der Laufzeitbibliothek ist die als <a href="index_f.html#ixb100401"><font color=#000080><tt>final</tt></font></a>
+deklarierte Klasse <a href="index_s.html#ixb100117"><font color=#000080><tt>String</tt></font></a>.
+
+<p>
+Seit dem JDK 1.1 kann das <a href="index_f.html#ixb100401"><font color=#000080><tt>final</tt></font></a>-Attribut
+auch auf Parameter von Methoden und lokale Variablen angewendet werden.
+Dadurch stellt der Compiler sicher, dass die Variable bzw. der Parameter
+nach der Initialisierung nicht mehr verändert wird. Die Initialisierung
+muss dabei nicht unbedingt bei der Deklaration erfolgen, sondern kann
+auch später vorgenommen werden. Wichtig ist, dass nur genau einmal
+ein Wert zugewiesen wird.
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100%>
+<tr>
+<td width=1 align=left valign=top bgcolor="#CC0000"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=1></td>
+<td width=1 align=left valign=top bgcolor="#CC0000"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top width=1000>
+
+<p>
+Im Gegensatz zu C oder C++ gibt es allerdings bei als <a href="index_f.html#ixb100401"><font color=#000080><tt>final</tt></font></a>
+deklarierten Objektparametern keine Möglichkeit, zwischen dem
+Objekt insgesamt und seinen einzelnen Elementen zu unterscheiden.
+Eine als <a href="index_f.html#ixb100401"><font color=#000080><tt>final</tt></font></a>
+deklarierte Objektvariable wird zwar insgesamt vor Zuweisungen geschützt,
+der Wert einzelner Membervariablen kann jedoch verändert werden.
+Dies gilt analog für Arrays, die ja ebenfalls Objekte sind: <a href="index_f.html#ixb100401"><font color=#000080><tt>final</tt></font></a>
+bietet keinen Schutz gegen die unerwünschte Zuweisung eines Werts
+an ein einzelnes Element des Arrays.</td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top>
+<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#CC0000">
+<tr>
+<td><font color="#FFFFFF"> Warnung </font></td>
+</tr>
+</table>
+</td>
+<td width=1 align=left valign=top bgcolor="#CC0000"><img src="trp1_1.gif"></td>
+</tr>
+</table>
+
+
+<!-- Section -->
+<a name="sectlevel4id008002002007"></a>
+<h4>transient </h4>
+
+<p>
+Membervariablen können mit dem Attribut <a href="index_t.html#ixb100429"><font color=#000080><tt>transient</tt></font></a>
+belegt werden, um anzuzeigen, dass sie keine persistente Form besitzen.
+Sie werden beim Serialisieren und Deserialisieren von Objekten dieses
+Typs ignoriert. Details werden in <a href="k100260.html#kapitelserialisierung">Kapitel 41</a>
+beschrieben.
+
+<!-- Section -->
+
+<a name="sectlevel4id008002002008"></a>
+<h4>volatile </h4>
+
+<p>
+Das Schlüsselwort <a name="ixa100531"><a href="index_v.html#ixb100430"><font color=#000080><tt>volatile</tt></font></a></a>
+wird verwendet, um anzuzeigen, dass Membervariablen <i>asynchron</i>,
+also außerhalb des aktuellen Threads, modifiziert werden können.
+Der Wert einer so deklarierten Variable wird daher bei jedem Zugriff
+erneut gelesen (anstatt möglicherweise direkt aus einem Register
+der virtuellen Maschine genommen zu werden). Die Verwendung von <a href="index_v.html#ixb100430"><font color=#000080><tt>volatile</tt></font></a>
+ist eher ungebräuchlich. Es kann beispielsweise zur Sicherstellung
+der Datenintegrität beim Multithreading verwendet werden oder
+dient dazu, Zugriffe auf asynchron veränderliche Speicherstellen
+(etwa eine Echtzeituhr, auf die über eine Variable zugegriffen
+wird) stets aktuell zu halten.
+<hr>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage, Addison
+Wesley, Version 5.0.1
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100051.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100052.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100054.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100057.html"> >> </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
+<td align="right">© 1998, 2007 Guido Krüger & Thomas
+Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
+</table>
+<a name="endofbody"></a>
+</body>
+</html>
|
