



<html>
<head>
  <title>javabog.dk -  - </title>
  <link rev="stylesheet" type="text/css" href="../typografi.css">
  <meta name="description" content="Lærebog i Java. Af Jacob Nordfalk. Udkommet hos Forlaget Globe">
  <meta name="keywords" content="designmønster, programmering, OOP, objekter, klasser, objektorienteret programmering, Java, JSP, lærebog, UML, IT">
</head>
<body bgcolor="#ffffff">



<h1></h1>
<h2>Indholdsfortegnelse</h2>
    <br>
<a href='kapitel0.jsp#afsn0'>0  Forord  </a>15  <br>
  <a href='kapitel0.jsp#afsn0.1'>0.1  Bogens opbygning  </a>15  <br>
  <a href='kapitel0.jsp#afsn0.1.1'>0.1.1  Veje gennem bogen  </a>15  <br>
  <a href='kapitel0.jsp#afsn0.1.2'>0.1.2  Kapitlernes opbygning  </a>17  <br>
  <a href='kapitel0.jsp#afsn0.2'>0.2  Til underviseren  </a>17  <br>
  <a href='kapitel0.jsp#afsn0.3'>0.3  &AElig;ndringer i fjerde udgave  </a>18  <br>
  <a href='kapitel0.jsp#afsn0.4'>0.4  Tak  </a>18  <br>
<a href='kapitel1.jsp#afsn1'>1  Introduktion  </a>19  <br>
  <a href='kapitel1.jsp#afsn1.1'>1.1  Programmering  </a>20  <br>
  <a href='kapitel1.jsp#afsn1.1.1'>1.1.1  Styresystemet  </a>20  <br>
  <a href='kapitel1.jsp#afsn1.1.2'>1.1.2  Hvorfor l&aelig;re at programmere?   </a>20  <br>
  <a href='kapitel1.jsp#afsn1.1.3'>1.1.3  Et simpelt program  </a>20  <br>
  <a href='kapitel1.jsp#afsn1.1.4'>1.1.4  Hvordan l&aelig;rer man at programmere  </a>21  <br>
  <a href='kapitel1.jsp#afsn1.2'>1.2  Fordele og ulemper ved Java  </a>21  <br>
  <a href='kapitel1.jsp#afsn1.2.1'>1.2.1  St&aelig;rke sider  </a>21  <br>
  <a href='kapitel1.jsp#afsn1.2.2'>1.2.2  Stor opbakning  </a>22  <br>
  <a href='kapitel1.jsp#afsn1.2.3'>1.2.3  Svagheder  </a>22  <br>
  <a href='kapitel1.jsp#afsn1.3'>1.3  Programmeringsv&aelig;rkt&oslash;jer til Java  </a>23  <br>
  <a href='kapitel1.jsp#afsn1.3.1'>1.3.1  Borland JBuilder  </a>23  <br>
  <a href='kapitel1.jsp#afsn1.3.2'>1.3.2  Eclipse.org  </a>24  <br>
  <a href='kapitel1.jsp#afsn1.3.3'>1.3.3  Oracle JDeveloper  </a>25  <br>
  <a href='kapitel1.jsp#afsn1.3.4'>1.3.4  NetBeans  </a>26  <br>
  <a href='kapitel1.jsp#afsn1.3.5'>1.3.5  BlueJ  </a>27  <br>
  <a href='kapitel1.jsp#afsn1.3.6'>1.3.6  Andre v&aelig;rkt&oslash;jer  </a>27  <br>
  <a href='kapitel1.jsp#afsn1.3.7'>1.3.7  Sun JDK  </a>27  <br>
  <a href='kapitel1.jsp#afsn1.4'>1.4  Hj&aelig;lp og videre l&aelig;sning  </a>28  <br>
  <a href='kapitel1.jsp#afsn1.4.1'>1.4.1  Projekter med &aring;ben kildekode  </a>28  <br>
<a href='kapitel2.jsp#afsn2'>2  Basal programmering  </a>29  <br>
  <a href='kapitel2.jsp#afsn2.1'>2.1  Det f&oslash;rste javaprogram  </a>30  <br>
  <a href='kapitel2.jsp#afsn2.1.1'>2.1.1  Kommentarer  </a>30  <br>
  <a href='kapitel2.jsp#afsn2.1.2'>2.1.2  Klassedefinitionen  </a>31  <br>
  <a href='kapitel2.jsp#afsn2.1.3'>2.1.3  Overs&aelig;ttelse og k&oslash;rsel af programmet  </a>31  <br>
  <a href='kapitel2.jsp#afsn2.2'>2.2  Variabler  </a>33  <br>
  <a href='kapitel2.jsp#afsn2.2.1'>2.2.1  Heltal  </a>33  <br>
  <a href='kapitel2.jsp#afsn2.2.2'>2.2.2  Sammens&aelig;tte strenge med +  </a>34  <br>
  <a href='kapitel2.jsp#afsn2.2.3'>2.2.3  Beregningsudtryk  </a>34  <br>
  <a href='kapitel2.jsp#afsn2.2.4'>2.2.4  Kommatal  </a>35  <br>
  <a href='kapitel2.jsp#afsn2.2.5'>2.2.5  Matematiske funktioner  </a>37  <br>
  <a href='kapitel2.jsp#afsn2.2.6'>2.2.6  Kald af metoder  </a>38  <br>
  <a href='kapitel2.jsp#afsn2.2.7'>2.2.7  Logiske variabler  </a>38  <br>
  <a href='kapitel2.jsp#afsn2.2.8'>2.2.8  Opgaver  </a>39  <br>
  <a href='kapitel2.jsp#afsn2.3'>2.3  Betinget udf&oslash;relse  </a>39  <br>
  <a href='kapitel2.jsp#afsn2.3.1'>2.3.1  Indl&aelig;sning fra tastaturet  </a>40  <br>
  <a href='kapitel2.jsp#afsn2.3.2'>2.3.2  if-else  </a>41  <br>
  <a href='kapitel2.jsp#afsn2.3.3'>2.3.3  Opgaver  </a>41  <br>
  <a href='kapitel2.jsp#afsn2.4'>2.4  Blokke  </a>42  <br>
  <a href='kapitel2.jsp#afsn2.4.1'>2.4.1  Indrykning  </a>42  <br>
  <a href='kapitel2.jsp#afsn2.5'>2.5  L&oslash;kker  </a>43  <br>
  <a href='kapitel2.jsp#afsn2.5.1'>2.5.1  while-l&oslash;kken  </a>43  <br>
  <a href='kapitel2.jsp#afsn2.5.2'>2.5.2  for-l&oslash;kken  </a>45  <br>
  <a href='kapitel2.jsp#afsn2.5.3'>2.5.3  Indlejrede l&oslash;kker  </a>46  <br>
  <a href='kapitel2.jsp#afsn2.5.4'>2.5.4  Uendelige l&oslash;kker  </a>47  <br>
  <a href='kapitel2.jsp#afsn2.5.5'>2.5.5  Opgaver  </a>47  <br>
  <a href='kapitel2.jsp#afsn2.6'>2.6  V&aelig;rditypekonvertering  </a>48  <br>
  <a href='kapitel2.jsp#afsn2.6.1'>2.6.1  Eksplicit typekonvertering  </a>48  <br>
  <a href='kapitel2.jsp#afsn2.6.2'>2.6.2  Implicit typekonvertering  </a>49  <br>
  <a href='kapitel2.jsp#afsn2.6.3'>2.6.3  Misforst&aring;elser omkring typekonvertering  </a>49  <br>
  <a href='kapitel2.jsp#afsn2.7'>2.7  Fejl  </a>50  <br>
  <a href='kapitel2.jsp#afsn2.7.1'>2.7.1  Indholdsm&aelig;ssige (logiske) fejl  </a>50  <br>
  <a href='kapitel2.jsp#afsn2.7.2'>2.7.2  Sproglige fejl  </a>50  <br>
  <a href='kapitel2.jsp#afsn2.7.3'>2.7.3  K&oslash;retidsfejl  </a>51  <br>
  <a href='kapitel2.jsp#afsn2.8'>2.8  Test dig selv  </a>52  <br>
  <a href='kapitel2.jsp#afsn2.9'>2.9  Resum&eacute;  </a>53  <br>
  <a href='kapitel2.jsp#afsn2.9.1'>2.9.1  Gode r&aring;d om programmering  </a>53  <br>
  <a href='kapitel2.jsp#afsn2.10'>2.10  Opgaver  </a>54  <br>
  <a href='kapitel2.jsp#afsn2.10.1'>2.10.1  Befordringsfradrag  </a>54  <br>
  <a href='kapitel2.jsp#afsn2.10.2'>2.10.2  Kurveprogram  </a>54  <br>
  <a href='kapitel2.jsp#afsn2.11'>2.11  Appendiks  </a>55  <br>
  <a href='kapitel2.jsp#afsn2.11.1'>2.11.1  Navngivningsregler  </a>55  <br>
  <a href='kapitel2.jsp#afsn2.11.2'>2.11.2  De simple typer  </a>55  <br>
  <a href='kapitel2.jsp#afsn2.11.3'>2.11.3  V&aelig;rditypekonvertering  </a>55  <br>
  <a href='kapitel2.jsp#afsn2.11.4'>2.11.4  Aritmetiske operatorer  </a>56  <br>
  <a href='kapitel2.jsp#afsn2.11.5'>2.11.5  Regning med logiske udtryk  </a>57  <br>
  <a href='kapitel2.jsp#afsn2.11.6'>2.11.6  Sammenligningsoperatorer  </a>57  <br>
  <a href='kapitel2.jsp#afsn2.12'>2.12  Avanceret  </a>58  <br>
  <a href='kapitel2.jsp#afsn2.12.1'>2.12.1  Grafiske indtastningsvinduer  </a>58  <br>
  <a href='kapitel2.jsp#afsn2.12.2'>2.12.2  Formatere tal og datoer  </a>59  <br>
  <a href='kapitel2.jsp#afsn2.12.3'>2.12.3  Primtal  </a>60  <br>
  <a href='kapitel2.jsp#afsn2.12.4'>2.12.4  Klassemetoder  </a>60  <br>
  <a href='kapitel2.jsp#afsn2.12.5'>2.12.5  Kombination af logiske operatorer  </a>62  <br>
  <a href='kapitel2.jsp#afsn2.12.6'>2.12.6  Alternativudtryk  </a>63  <br>
  <a href='kapitel2.jsp#afsn2.12.7'>2.12.7  Brug af ++ og -- (opt&aelig;lling og nedt&aelig;lling)  </a>63  <br>
  <a href='kapitel2.jsp#afsn2.12.8'>2.12.8  Brug af += og -=  </a>63  <br>
  <a href='kapitel2.jsp#afsn2.12.9'>2.12.9  do-while-l&oslash;kken  </a>63  <br>
  <a href='kapitel2.jsp#afsn2.12.10'>2.12.10  break  </a>64  <br>
  <a href='kapitel2.jsp#afsn2.12.11'>2.12.11  continue  </a>64  <br>
  <a href='kapitel2.jsp#afsn2.12.12'>2.12.12  break og continue med navngivne l&oslash;kker  </a>64  <br>
  <a href='kapitel2.jsp#afsn2.12.13'>2.12.13  switch  </a>65  <br>
  <a href='kapitel2.jsp#afsn2.12.14'>2.12.14  Komma i for-l&oslash;kker  </a>65  <br>
<a href='kapitel3.jsp#afsn3'>3  Objekter  </a>67  <br>
  <a href='kapitel3.jsp#afsn3.1'>3.1  Objekter og klasser  </a>68  <br>
  <a href='kapitel3.jsp#afsn3.2'>3.2  Punkter (klassen Point)  </a>69  <br>
  <a href='kapitel3.jsp#afsn3.2.1'>3.2.1  Erkl&aelig;ring og oprettelse  </a>69  <br>
  <a href='kapitel3.jsp#afsn3.2.2'>3.2.2  Objektvariabler  </a>70  <br>
  <a href='kapitel3.jsp#afsn3.2.3'>3.2.3  Metodekald  </a>70  <br>
  <a href='kapitel3.jsp#afsn3.2.4'>3.2.4  Eksempel  </a>71  <br>
  <a href='kapitel3.jsp#afsn3.2.5'>3.2.5  Import af standardklasser  </a>72  <br>
  <a href='kapitel3.jsp#afsn3.3'>3.3  Rektangler (klassen Rectangle)  </a>72  <br>
  <a href='kapitel3.jsp#afsn3.3.1'>3.3.1  Konstrukt&oslash;rer  </a>72  <br>
  <a href='kapitel3.jsp#afsn3.3.2'>3.3.2  Metoder  </a>73  <br>
  <a href='kapitel3.jsp#afsn3.3.3'>3.3.3  Metoders returtype  </a>74  <br>
  <a href='kapitel3.jsp#afsn3.3.4'>3.3.4  Metoders parametre  </a>75  <br>
  <a href='kapitel3.jsp#afsn3.4'>3.4  Tekststrenge (klassen String)  </a>76  <br>
  <a href='kapitel3.jsp#afsn3.4.1'>3.4.1  Streng-objekter er uforanderlige  </a>77  <br>
  <a href='kapitel3.jsp#afsn3.4.2'>3.4.2  Man beh&oslash;ver ikke bruge new til String-objekter  </a>78  <br>
  <a href='kapitel3.jsp#afsn3.4.3'>3.4.3  Navnesammenfald for metoder  </a>78  <br>
  <a href='kapitel3.jsp#afsn3.4.4'>3.4.4  At s&aelig;tte strenge sammen med +  </a>78  <br>
  <a href='kapitel3.jsp#afsn3.4.5'>3.4.5  Sammenligning  </a>79  <br>
  <a href='kapitel3.jsp#afsn3.4.6'>3.4.6  Opgaver  </a>80  <br>
  <a href='kapitel3.jsp#afsn3.5'>3.5  Lister (klassen ArrayList)  </a>80  <br>
  <a href='kapitel3.jsp#afsn3.5.1'>3.5.1  Genneml&oslash;b af lister  </a>82  <br>
  <a href='kapitel3.jsp#afsn3.5.2'>3.5.2  Eksempel: Eventyrfort&aelig;lling  </a>82  <br>
  <a href='kapitel3.jsp#afsn3.5.3'>3.5.3  Eksempel: Punkter i en liste  </a>82  <br>
  <a href='kapitel3.jsp#afsn3.5.4'>3.5.4  Historisk bem&aelig;rkning: Lister f&oslash;r JDK </a><a href='kapitel1.jsp#afsn1.5'>1.5  </a>83  <br>
  <a href='kapitel3.jsp#afsn3.5.5'>3.5.5  Eksempel: Blanding af kort med ArrayList  </a>84  <br>
  <a href='kapitel3.jsp#afsn3.6'>3.6  Datoer (klassen Date)  </a>85  <br>
  <a href='kapitel3.jsp#afsn3.6.1'>3.6.1  Opgaver  </a>86    <br>
  <a href='kapitel3.jsp#afsn3.7'>3.7  Test dig selv  </a>87  <br>
  <a href='kapitel3.jsp#afsn3.8'>3.8  Resum&eacute;  </a>87  <br>
  <a href='kapitel3.jsp#afsn3.9'>3.9  Appendiks  </a>88  <br>
  <a href='kapitel3.jsp#afsn3.9.1'>3.9.1  Klassen Point  </a>88  <br>
  <a href='kapitel3.jsp#afsn3.9.2'>3.9.2  Klassen Rectangle  </a>89  <br>
  <a href='kapitel3.jsp#afsn3.9.3'>3.9.3  Klassen String  </a>90  <br>
  <a href='kapitel3.jsp#afsn3.9.4'>3.9.4  Specialtegn i strenge  </a>91  <br>
  <a href='kapitel3.jsp#afsn3.9.5'>3.9.5  Klassen Date  </a>92  <br>
  <a href='kapitel3.jsp#afsn3.9.6'>3.9.6  Klassen ArrayList  </a>93  <br>
  <a href='kapitel3.jsp#afsn3.10'>3.10  Avanceret  </a>94  <br>
  <a href='kapitel3.jsp#afsn3.10.1'>3.10.1  S&aelig;tte strenge sammen (klassen StringBuilder)  </a>94  <br>
  <a href='kapitel3.jsp#afsn3.10.2'>3.10.2  Standardmetoder til at arbejde med lister  </a>96  <br>
  <a href='kapitel3.jsp#afsn3.10.3'>3.10.3  Lister af simple typer (autoboxing)  </a>96  <br>
  <a href='kapitel3.jsp#afsn3.10.4'>3.10.4  Andre slags lister og m&aelig;ngder  </a>96  <br>
  <a href='kapitel3.jsp#afsn3.10.5'>3.10.5  N&oslash;gleindekserede tabeller (klassen HashMap)  </a>97  <br>
<a href='kapitel4.jsp#afsn4'>4  Definition af klasser  </a>99  <br>
  <a href='kapitel4.jsp#afsn4.1'>4.1  En Boks-klasse  </a>100  <br>
  <a href='kapitel4.jsp#afsn4.1.1'>4.1.1  Variabler  </a>100  <br>
  <a href='kapitel4.jsp#afsn4.1.2'>4.1.2  Brug af klassen  </a>101  <br>
  <a href='kapitel4.jsp#afsn4.1.3'>4.1.3  Metodedefinition  </a>101  <br>
  <a href='kapitel4.jsp#afsn4.1.4'>4.1.4  Flere objekter  </a>102  <br>
  <a href='kapitel4.jsp#afsn4.2'>4.2  Indkapsling  </a>103  <br>
  <a href='kapitel4.jsp#afsn4.3'>4.3  Konstrukt&oslash;rer  </a>105  <br>
  <a href='kapitel4.jsp#afsn4.3.1'>4.3.1  Standardkonstrukt&oslash;rer  </a>106  <br>
  <a href='kapitel4.jsp#afsn4.3.2'>4.3.2  Opgaver  </a>106  <br>
  <a href='kapitel4.jsp#afsn4.4'>4.4  En Terning-klasse  </a>107  <br>
  <a href='kapitel4.jsp#afsn4.4.1'>4.4.1  Opgaver  </a>108  <br>
  <a href='kapitel4.jsp#afsn4.5'>4.5  Relationer mellem objekter  </a>108  <br>
  <a href='kapitel4.jsp#afsn4.5.1'>4.5.1  En Rafleb&aelig;ger-klasse  </a>108  <br>
  <a href='kapitel4.jsp#afsn4.5.2'>4.5.2  Opgaver  </a>110  <br>
  <a href='kapitel4.jsp#afsn4.6'>4.6  N&oslash;gleordet this  </a>111  <br>
  <a href='kapitel4.jsp#afsn4.7'>4.7  Ekstra eksempler  </a>112  <br>
  <a href='kapitel4.jsp#afsn4.7.1'>4.7.1  En n-sidet terning  </a>112  <br>
  <a href='kapitel4.jsp#afsn4.7.2'>4.7.2  Personer  </a>114  <br>
  <a href='kapitel4.jsp#afsn4.7.3'>4.7.3  Design af klasser  </a>115  <br>
  <a href='kapitel4.jsp#afsn4.8'>4.8  Test dig selv  </a>116  <br>
  <a href='kapitel4.jsp#afsn4.9'>4.9  Resum&eacute;  </a>116  <br>
  <a href='kapitel4.jsp#afsn4.9.1'>4.9.1  Formen af en klasse  </a>117  <br>
  <a href='kapitel4.jsp#afsn4.9.2'>4.9.2  Formen af en metode  </a>118  <br>
  <a href='kapitel4.jsp#afsn4.10'>4.10  Opgaver  </a>119  <br>
  <a href='kapitel4.jsp#afsn4.10.1'>4.10.1  BlueJ  </a>119  <br>
  <a href='kapitel4.jsp#afsn4.10.2'>4.10.2  Fejlfinding  </a>120  <br>
  <a href='kapitel4.jsp#afsn4.11'>4.11  Avanceret  </a>122  <br>
  <a href='kapitel4.jsp#afsn4.11.1'>4.11.1  Bankkonti  </a>122  <br>
  <a href='kapitel4.jsp#afsn4.11.2'>4.11.2  Opgaver  </a>122  <br>
<a href='kapitel5.jsp#afsn5'>5  Nedarvning  </a>123  <br>
  <a href='kapitel5.jsp#afsn5.1'>5.1  At udbygge eksisterende klasser  </a>124  <br>
  <a href='kapitel5.jsp#afsn5.1.1'>5.1.1  Eksempel: En falsk terning  </a>124  <br>
  <a href='kapitel5.jsp#afsn5.1.2'>5.1.2  At udbygge med flere metoder og variabler  </a>126  <br>
  <a href='kapitel5.jsp#afsn5.1.3'>5.1.3  N&oslash;gleordet super  </a>126  <br>
  <a href='kapitel5.jsp#afsn5.1.4'>5.1.4  Opgaver  </a>127  <br>
  <a href='kapitel5.jsp#afsn5.2'>5.2  Polymorfe variabler  </a>128  <br>
  <a href='kapitel5.jsp#afsn5.2.1'>5.2.1  Dispensation fra traditionel typesikkerhed  </a>128  <br>
  <a href='kapitel5.jsp#afsn5.2.2'>5.2.2  Polymorfi  </a>129  <br>
  <a href='kapitel5.jsp#afsn5.2.3'>5.2.3  Eksempel p&aring; polymorfi: Brug af Raflebaeger  </a>129  <br>
  <a href='kapitel5.jsp#afsn5.2.4'>5.2.4  Hvilken vej er en variabel polymorf ?  </a>130  <br>
  <a href='kapitel5.jsp#afsn5.2.5'>5.2.5  Reference-typekonvertering  </a>131  <br>
  <a href='kapitel5.jsp#afsn5.3'>5.3  Eksempel: Et matador-spil  </a>132  <br>
  <a href='kapitel5.jsp#afsn5.3.1'>5.3.1  Polymorfi  </a>138  <br>
  <a href='kapitel5.jsp#afsn5.3.2'>5.3.2  Opgaver  </a>138  <br>
  <a href='kapitel5.jsp#afsn5.4'>5.4  Stamklassen Object  </a>139  <br>
  <a href='kapitel5.jsp#afsn5.4.1'>5.4.1  Referencer til objekter  </a>140  <br>
  <a href='kapitel5.jsp#afsn5.5'>5.5  Konstrukt&oslash;rer i underklasser  </a>141  <br>
  <a href='kapitel5.jsp#afsn5.5.1'>5.5.1  Konsekvenser  </a>142  <br>
  <a href='kapitel5.jsp#afsn5.6'>5.6  Ekstra eksempler  </a>143  <br>
  <a href='kapitel5.jsp#afsn5.6.1'>5.6.1  Matadorspillet version </a><a href='kapitel2.jsp#afsn2'>2  </a>143  <br>
  <a href='kapitel5.jsp#afsn5.6.2'>5.6.2  Opgaver  </a>145  <br>
  <a href='kapitel5.jsp#afsn5.7'>5.7  Test dig selv  </a>146  <br>
  <a href='kapitel5.jsp#afsn5.8'>5.8  Resum&eacute;  </a>146  <br>
  <a href='kapitel5.jsp#afsn5.9'>5.9  Avanceret  </a>147  <br>
  <a href='kapitel5.jsp#afsn5.9.1'>5.9.1  Initialisering uden for konstrukt&oslash;rerne  </a>147  <br>
  <a href='kapitel5.jsp#afsn5.9.2'>5.9.2  Kald af en konstrukt&oslash;r fra en anden konstrukt&oslash;r  </a>148  <br>
  <a href='kapitel5.jsp#afsn5.9.3'>5.9.3  Metoder erkl&aelig;ret final  </a>148  <br>
  <a href='kapitel5.jsp#afsn5.9.4'>5.9.4  Metoder erkl&aelig;ret protected  </a>148  <br>
  <a href='kapitel5.jsp#afsn5.9.5'>5.9.5  Variabel-overskygning  </a>148  <br>
<a href='kapitel6.jsp#afsn6'>6  Pakker  </a>149  <br>
  <a href='kapitel6.jsp#afsn6.1'>6.1  At importere klassedefinitioner  </a>150  <br>
  <a href='kapitel6.jsp#afsn6.2'>6.2  Standardpakkerne  </a>150  <br>
  <a href='kapitel6.jsp#afsn6.2.1'>6.2.1  Pakken java.lang  </a>151    <br>
  <a href='kapitel6.jsp#afsn6.3'>6.3  Pakkers placering p&aring; filsystemet  </a>151  <br>
  <a href='kapitel6.jsp#afsn6.4'>6.4  At definere egne pakker  </a>152  <br>
  <a href='kapitel6.jsp#afsn6.4.1'>6.4.1  Eksempel  </a>152  <br>
  <a href='kapitel6.jsp#afsn6.5'>6.5  Pakke klasser i jar-filer (Java-arkiver)  </a>152  <br>
  <a href='kapitel6.jsp#afsn6.5.1'>6.5.1  Eksekverbare jar-filer  </a>153  <br>
  <a href='kapitel6.jsp#afsn6.6'>6.6  Test dig selv  </a>153  <br>
  <a href='kapitel6.jsp#afsn6.7'>6.7  Resum&eacute;  </a>153  <br>
  <a href='kapitel6.jsp#afsn6.8'>6.8  Opgaver  </a>153  <br>
  <a href='kapitel6.jsp#afsn6.9'>6.9  Avanceret: public, protected og private  </a>154  <br>
  <a href='kapitel6.jsp#afsn6.9.1'>6.9.1  Variabler og metoder  </a>154  <br>
  <a href='kapitel6.jsp#afsn6.9.2'>6.9.2  Indkapsling med pakker  </a>154  <br>
  <a href='kapitel6.jsp#afsn6.9.3'>6.9.3  Klasser  </a>154  <br>
<a href='kapitel7.jsp#afsn7'>7  Lokale, objekt- og klassevariabler  </a>155  <br>
  <a href='kapitel7.jsp#afsn7.1'>7.1  Klassevariabler og -metoder  </a>156  <br>
  <a href='kapitel7.jsp#afsn7.1.1'>7.1.1  Eksempler p&aring; klassevariabler  </a>157  <br>
  <a href='kapitel7.jsp#afsn7.1.2'>7.1.2  Eksempler p&aring; klassemetoder  </a>157  <br>
  <a href='kapitel7.jsp#afsn7.2'>7.2  Lokale variabler og parametre  </a>158  <br>
  <a href='kapitel7.jsp#afsn7.2.1'>7.2.1  Parametervariabler  </a>158  <br>
  <a href='kapitel7.jsp#afsn7.3'>7.3  Test dig selv  </a>160  <br>
  <a href='kapitel7.jsp#afsn7.4'>7.4  Resum&eacute;  </a>160  <br>
  <a href='kapitel7.jsp#afsn7.4.1'>7.4.1  Tilknytning  </a>160  <br>
  <a href='kapitel7.jsp#afsn7.4.2'>7.4.2  Adgang til variabler og metoder  </a>160  <br>
  <a href='kapitel7.jsp#afsn7.4.3'>7.4.3  Adgang fra metoder  </a>160  <br>
  <a href='kapitel7.jsp#afsn7.5'>7.5  Avanceret  </a>161  <br>
  <a href='kapitel7.jsp#afsn7.5.1'>7.5.1  Introduktion til rekursive algoritmer  </a>161  <br>
  <a href='kapitel7.jsp#afsn7.5.2'>7.5.2  Rekursion: Beregning af formel  </a>162  <br>
  <a href='kapitel7.jsp#afsn7.5.3'>7.5.3  Rekursion: Listning af filer  </a>163  <br>
  <a href='kapitel7.jsp#afsn7.5.4'>7.5.4  Rekursion: Tegning af fraktaler  </a>164  <br>
<a href='kapitel8.jsp#afsn8'>8  Arrays  </a>165  <br>
  <a href='kapitel8.jsp#afsn8.1'>8.1  Erkl&aelig;ring og brug  </a>166  <br>
  <a href='kapitel8.jsp#afsn8.1.1'>8.1.1  Eksempel: Statistik  </a>167  <br>
  <a href='kapitel8.jsp#afsn8.1.2'>8.1.2  Initialisere et array med startv&aelig;rdier  </a>167  <br>
  <a href='kapitel8.jsp#afsn8.1.3'>8.1.3  Arrayet i main()-metoden  </a>168  <br>
  <a href='kapitel8.jsp#afsn8.2'>8.2  Genneml&oslash;b og manipulering af array  </a>168  <br>
  <a href='kapitel8.jsp#afsn8.3'>8.3  Array af objekter  </a>169  <br>
  <a href='kapitel8.jsp#afsn8.3.1'>8.3.1  Polymorfi  </a>169  <br>
  <a href='kapitel8.jsp#afsn8.4'>8.4  Arrays versus lister (ArrayList)  </a>169  <br>
  <a href='kapitel8.jsp#afsn8.5'>8.5  Resum&eacute;  </a>170  <br>
  <a href='kapitel8.jsp#afsn8.6'>8.6  Opgaver  </a>170    <br>
  <a href='kapitel8.jsp#afsn8.7'>8.7  Avanceret  </a>171  <br>
  <a href='kapitel8.jsp#afsn8.7.1'>8.7.1  Flerdimensionale arrays  </a>171  <br>
  <a href='kapitel8.jsp#afsn8.7.2'>8.7.2  Konvertere mellem arrays og lister  </a>172  <br>
<a href='kapitel9.jsp#afsn9'>9  Grafiske programmer  </a>173  <br>
  <a href='kapitel9.jsp#afsn9.1'>9.1  Klassen Graphics  </a>175  <br>
  <a href='kapitel9.jsp#afsn9.1.1'>9.1.1  Eksempel: Grafikdemo  </a>176  <br>
  <a href='kapitel9.jsp#afsn9.1.2'>9.1.2  Eksempel: Kurvetegning  </a>177  <br>
  <a href='kapitel9.jsp#afsn9.2'>9.2  Metoder du kan kalde  </a>178  <br>
  <a href='kapitel9.jsp#afsn9.3'>9.3  Opgaver  </a>179  <br>
  <a href='kapitel9.jsp#afsn9.3.1'>9.3.1  Opgave: Grafisk Matador-spil  </a>179  <br>
  <a href='kapitel9.jsp#afsn9.4'>9.4  Avanceret  </a>181  <br>
  <a href='kapitel9.jsp#afsn9.4.1'>9.4.1  Simple animationer  </a>181  <br>
  <a href='kapitel9.jsp#afsn9.4.2'>9.4.2  Animationer med en separat tr&aring;d  </a>182  <br>
  <a href='kapitel9.jsp#afsn9.4.3'>9.4.3  Java</a>2D - avanceret grafiktegning  182  <br>
  <a href='kapitel9.jsp#afsn9.4.4'>9.4.4  Passiv versus aktiv visning  </a>184  <br>
  <a href='kapitel9.jsp#afsn9.4.5'>9.4.5  Fuldsk&aelig;rmstegning  </a>185  <br>
  <a href='kapitel9.jsp#afsn9.4.6'>9.4.6  Dobbeltbuffer  </a>186  <br>
<a href='kapitel10.jsp#afsn10'>10  Appletter  </a>187  <br>
  <a href='kapitel10.jsp#afsn10.1'>10.1  HTML-dokumentet  </a>188  <br>
  <a href='kapitel10.jsp#afsn10.2'>10.2  Javakoden  </a>188  <br>
  <a href='kapitel10.jsp#afsn10.3'>10.3  Metoder i appletter  </a>189  <br>
  <a href='kapitel10.jsp#afsn10.3.1'>10.3.1  Metoder i appletter, som du kan kalde  </a>189  <br>
  <a href='kapitel10.jsp#afsn10.3.2'>10.3.2  Metoder i appletter, som systemet kalder  </a>190  <br>
  <a href='kapitel10.jsp#afsn10.3.3'>10.3.3  Eksempel  </a>190  <br>
  <a href='kapitel10.jsp#afsn10.4'>10.4  Resum&eacute;  </a>191  <br>
  <a href='kapitel10.jsp#afsn10.5'>10.5  Avanceret  </a>192  <br>
  <a href='kapitel10.jsp#afsn10.5.1'>10.5.1  Sikkerhedsbegr&aelig;nsninger for appletter  </a>192  <br>
  <a href='kapitel10.jsp#afsn10.5.2'>10.5.2  Pakker og CODE/CODEBASE i HTML-koden  </a>192  <br>
  <a href='kapitel10.jsp#afsn10.5.3'>10.5.3  Begr&aelig;nsninger i &aelig;ldre netl&aelig;sere  </a>192  <br>
<a href='kapitel11.jsp#afsn11'>11  Grafiske standardkomponenter  </a>193  <br>
  <a href='kapitel11.jsp#afsn11.1'>11.1  Generering med et v&aelig;rkt&oslash;j  </a>194  <br>
  <a href='kapitel11.jsp#afsn11.1.1'>11.1.1  Interaktive programmer  </a>196  <br>
  <a href='kapitel11.jsp#afsn11.1.2'>11.1.2  Genvejstaster  </a>197  <br>
  <a href='kapitel11.jsp#afsn11.2'>11.2  Overblik over komponenter  </a>198  <br>
  <a href='kapitel11.jsp#afsn11.2.1'>11.2.1  JLabel  </a>198  <br>
  <a href='kapitel11.jsp#afsn11.2.2'>11.2.2  JButton  </a>198  <br>
  <a href='kapitel11.jsp#afsn11.2.3'>11.2.3  JCheckBox og JRadioButton  </a>198  <br>
  <a href='kapitel11.jsp#afsn11.2.4'>11.2.4  JTextField  </a>199  <br>
  <a href='kapitel11.jsp#afsn11.2.5'>11.2.5  JTextArea  </a>199  <br>
  <a href='kapitel11.jsp#afsn11.2.6'>11.2.6  JComboBox  </a>199  <br>
  <a href='kapitel11.jsp#afsn11.2.7'>11.2.7  JList  </a>200    <br>
  <a href='kapitel11.jsp#afsn11.3'>11.3  Eksempel  </a>200  <br>
  <a href='kapitel11.jsp#afsn11.4'>11.4  Overblik over containere  </a>202  <br>
  <a href='kapitel11.jsp#afsn11.4.1'>11.4.1  JWindow  </a>202  <br>
  <a href='kapitel11.jsp#afsn11.4.2'>11.4.2  JDialog  </a>202  <br>
  <a href='kapitel11.jsp#afsn11.4.3'>11.4.3  JFrame  </a>202  <br>
  <a href='kapitel11.jsp#afsn11.4.4'>11.4.4  JPanel  </a>202  <br>
  <a href='kapitel11.jsp#afsn11.4.5'>11.4.5  JApplet  </a>202  <br>
  <a href='kapitel11.jsp#afsn11.4.6'>11.4.6  JTabbedPane  </a>203  <br>
  <a href='kapitel11.jsp#afsn11.5'>11.5  Layout-managere  </a>203  <br>
  <a href='kapitel11.jsp#afsn11.5.1'>11.5.1  Ingen styring (null-layout)  </a>203  <br>
  <a href='kapitel11.jsp#afsn11.5.2'>11.5.2  FlowLayout  </a>203  <br>
  <a href='kapitel11.jsp#afsn11.5.3'>11.5.3  BorderLayout  </a>204  <br>
  <a href='kapitel11.jsp#afsn11.5.4'>11.5.4  GridBagLayout  </a>205  <br>
  <a href='kapitel11.jsp#afsn11.6'>11.6  Menuer  </a>206  <br>
  <a href='kapitel11.jsp#afsn11.7'>11.7  Test dig selv  </a>208  <br>
  <a href='kapitel11.jsp#afsn11.8'>11.8  Resum&eacute;  </a>208  <br>
  <a href='kapitel11.jsp#afsn11.9'>11.9  Avanceret  </a>209  <br>
  <a href='kapitel11.jsp#afsn11.9.1'>11.9.1  HTML-kode i komponenter  </a>209  <br>
  <a href='kapitel11.jsp#afsn11.9.2'>11.9.2  Flertr&aring;det komponentprogrammering  </a>210  <br>
  <a href='kapitel11.jsp#afsn11.9.3'>11.9.3  Brug af komponenter vs. paintComponent()  </a>210  <br>
<a href='kapitel12.jsp#afsn12'>12  Interfaces - gr&aelig;nseflader til objekter  </a>211  <br>
  <a href='kapitel12.jsp#afsn12.1'>12.1  Definere et interface  </a>212  <br>
  <a href='kapitel12.jsp#afsn12.2'>12.2  Implementere et interface  </a>212  <br>
  <a href='kapitel12.jsp#afsn12.2.1'>12.2.1  Variabler af type Tegnbar  </a>213  <br>
  <a href='kapitel12.jsp#afsn12.2.2'>12.2.2  Eksempler med interfacet Tegnbar  </a>213  <br>
  <a href='kapitel12.jsp#afsn12.2.3'>12.2.3  Visning af nogle Tegnbare objekter  </a>215  <br>
  <a href='kapitel12.jsp#afsn12.2.4'>12.2.4  Polymorfi  </a>216  <br>
  <a href='kapitel12.jsp#afsn12.3'>12.3  Interfaces i standardbibliotekerne  </a>216  <br>
  <a href='kapitel12.jsp#afsn12.3.1'>12.3.1  Sortering med en Comparator  </a>216  <br>
  <a href='kapitel12.jsp#afsn12.3.2'>12.3.2  Flere tr&aring;de med Runnable  </a>217  <br>
  <a href='kapitel12.jsp#afsn12.3.3'>12.3.3  Lytte til musen med MouseListener  </a>217  <br>
  <a href='kapitel12.jsp#afsn12.4'>12.4  Test dig selv  </a>218  <br>
  <a href='kapitel12.jsp#afsn12.5'>12.5  Resum&eacute;  </a>218  <br>
  <a href='kapitel12.jsp#afsn12.6'>12.6  Opgaver  </a>218  <br>
  <a href='kapitel12.jsp#afsn12.7'>12.7  Avanceret  </a>219  <br>
  <a href='kapitel12.jsp#afsn12.7.1'>12.7.1  Collections - ArrayList's familie  </a>219  <br>
  <a href='kapitel12.jsp#afsn12.7.2'>12.7.2  Implementere flere interfaces  </a>219  <br>
  <a href='kapitel12.jsp#afsn12.7.3'>12.7.3  At udbygge interfaces  </a>220  <br>
  <a href='kapitel12.jsp#afsn12.7.4'>12.7.4  Multipel arv  </a>220  <br>
  <a href='kapitel12.jsp#afsn12.7.5'>12.7.5  Variabler i et interface  </a>220  <br>
  <a href='kapitel12.jsp#afsn12.7.6'>12.7.6  Statisk import  </a>220    <br>
  <a href='kapitel13.jsp#afsn13'>13 H&aelig;ndelser  i grafiske brugergr&aelig;nseflader  </a>221  <br>
  <a href='kapitel13.jsp#afsn13.1'>13.1  Eksempel: LytTilMusen  </a>222  <br>
  <a href='kapitel13.jsp#afsn13.2'>13.2  Eksempel: Linjetegning  </a>223  <br>
  <a href='kapitel13.jsp#afsn13.2.1'>13.2.1  Linjetegning i &eacute;n klasse  </a>225  <br>
  <a href='kapitel13.jsp#afsn13.3'>13.3  Ekstra eksempler  </a>225  <br>
  <a href='kapitel13.jsp#afsn13.3.1'>13.3.1  Lytte til musebev&aelig;gelser  </a>225  <br>
  <a href='kapitel13.jsp#afsn13.3.2'>13.3.2  Lytte til en knap  </a>226  <br>
  <a href='kapitel13.jsp#afsn13.3.3'>13.3.3  Lytte efter tastetryk  </a>227  <br>
  <a href='kapitel13.jsp#afsn13.4'>13.4  Appendiks  </a>228  <br>
  <a href='kapitel13.jsp#afsn13.4.1'>13.4.1  Lyttere og deres metoder  </a>228  <br>
  <a href='kapitel13.jsp#afsn13.5'>13.5  Avanceret  </a>230  <br>
  <a href='kapitel13.jsp#afsn13.5.1'>13.5.1  Automatisk genereret kode til h&aelig;ndelsesh&aring;ndtering  </a>230  <br>
  <a href='kapitel13.jsp#afsn13.5.2'>13.5.2  Adaptere  </a>230  <br>
<a href='kapitel14.jsp#afsn14'>14  Undtagelser og k&oslash;retidsfejl  </a>231  <br>
  <a href='kapitel14.jsp#afsn14.1'>14.1  Almindelige undtagelser  </a>233  <br>
  <a href='kapitel14.jsp#afsn14.2'>14.2  At fange og h&aring;ndtere undtagelser  </a>233  <br>
  <a href='kapitel14.jsp#afsn14.2.1'>14.2.1  Undtagelsesobjekter og deres stakspor  </a>234  <br>
  <a href='kapitel14.jsp#afsn14.3'>14.3  Undtagelser med tvungen h&aring;ndtering  </a>235  <br>
  <a href='kapitel14.jsp#afsn14.3.1'>14.3.1  Fange undtagelser eller sende dem videre  </a>235  <br>
  <a href='kapitel14.jsp#afsn14.3.2'>14.3.2  Konsekvenser af at sende undtagelser videre  </a>236  <br>
  <a href='kapitel14.jsp#afsn14.4'>14.4  Pr&aelig;cis h&aring;ndtering af undtagelser  </a>238  <br>
  <a href='kapitel14.jsp#afsn14.5'>14.5  Fange flere slags undtagelser  </a>240  <br>
  <a href='kapitel14.jsp#afsn14.6'>14.6  Resum&eacute;  </a>240  <br>
  <a href='kapitel14.jsp#afsn14.7'>14.7  Opgaver  </a>240  <br>
  <a href='kapitel14.jsp#afsn14.8'>14.8  Avanceret  </a>241  <br>
  <a href='kapitel14.jsp#afsn14.8.1'>14.8.1  Fange Throwable  </a>241  <br>
  <a href='kapitel14.jsp#afsn14.8.2'>14.8.2  Selv kaste undtagelser (throw)  </a>241  <br>
  <a href='kapitel14.jsp#afsn14.8.3'>14.8.3  try - finally  </a>242  <br>
  <a href='kapitel14.jsp#afsn14.8.4'>14.8.4  Selv definere undtagelsestyper  </a>242  <br>
<a href='kapitel15.jsp#afsn15'>15  Datastr&oslash;mme og filh&aring;ndtering  </a>243  <br>
  <a href='kapitel15.jsp#afsn15.1'>15.1  Skrive til en tekstfil  </a>244  <br>
  <a href='kapitel15.jsp#afsn15.2'>15.2  L&aelig;se fra en tekstfil  </a>245  <br>
  <a href='kapitel15.jsp#afsn15.3'>15.3  Analysering af tekstdata  </a>246  <br>
  <a href='kapitel15.jsp#afsn15.3.1'>15.3.1  Opdele strenge og konvertere bidderne til tal  </a>246  <br>
  <a href='kapitel15.jsp#afsn15.3.2'>15.3.2  Indl&aelig;sning af tekst med Scanner-klassen  </a>246  <br>
  <a href='kapitel15.jsp#afsn15.4'>15.4  Bin&aelig;r l&aelig;sning og skrivning  </a>248  <br>
  <a href='kapitel15.jsp#afsn15.4.1'>15.4.1  Optimering af ydelse  </a>248  <br>
  <a href='kapitel15.jsp#afsn15.5'>15.5  Appendiks  </a>249  <br>
  <a href='kapitel15.jsp#afsn15.5.1'>15.5.1  Navngivning  </a>249  <br>
  <a href='kapitel15.jsp#afsn15.5.2'>15.5.2  Bin&aelig;re data ( -OutputStream og -InputStream)  </a>249  <br>
  <a href='kapitel15.jsp#afsn15.5.3'>15.5.3  Tekstdata ( -Writer og -Reader)  </a>250  <br>
  <a href='kapitel15.jsp#afsn15.5.4'>15.5.4  Fill&aelig;sning og -skrivning (File- )  </a>250  <br>
  <a href='kapitel15.jsp#afsn15.5.5'>15.5.5  Strenge (String- )  </a>250  <br>
  <a href='kapitel15.jsp#afsn15.5.6'>15.5.6  Arrays (ByteArray- og CharArray- )  </a>251  <br>
  <a href='kapitel15.jsp#afsn15.5.7'>15.5.7  L&aelig;se og skrive objekter (Object- )  </a>251  <br>
  <a href='kapitel15.jsp#afsn15.5.8'>15.5.8  Dataopsamling (Buffered- )  </a>251  <br>
  <a href='kapitel15.jsp#afsn15.5.9'>15.5.9  G&aring; fra bin&aelig;re til tegnbaserede datastr&oslash;mme  </a>251  <br>
  <a href='kapitel15.jsp#afsn15.5.10'>15.5.10  Filtreringsklasser til konvertering og databehandling  </a>251  <br>
  <a href='kapitel15.jsp#afsn15.5.11'>15.5.11  Brug af p&aring; filtreringsklasser  </a>252  <br>
  <a href='kapitel15.jsp#afsn15.6'>15.6  Test dig selv  </a>253  <br>
  <a href='kapitel15.jsp#afsn15.7'>15.7  Resum&eacute;  </a>253  <br>
  <a href='kapitel15.jsp#afsn15.8'>15.8  Opgaver  </a>253  <br>
  <a href='kapitel15.jsp#afsn15.9'>15.9  Avanceret  </a>254  <br>
  <a href='kapitel15.jsp#afsn15.9.1'>15.9.1  Klassen RandomAccessFile  </a>254  <br>
  <a href='kapitel15.jsp#afsn15.9.2'>15.9.2  Filh&aring;ndtering (klassen File)  </a>254  <br>
  <a href='kapitel15.jsp#afsn15.9.3'>15.9.3  Platformuafh&aelig;ngige filnavne  </a>254  <br>
<a href='kapitel16.jsp#afsn16'>16  Netv&aelig;rkskommunikation  </a>255  <br>
  <a href='kapitel16.jsp#afsn16.1'>16.1  At forbinde til en port  </a>256  <br>
  <a href='kapitel16.jsp#afsn16.2'>16.2  At lytte p&aring; en port  </a>258  <br>
  <a href='kapitel16.jsp#afsn16.3'>16.3  URL-klassen  </a>259  <br>
  <a href='kapitel16.jsp#afsn16.4'>16.4  Opgaver  </a>260  <br>
  <a href='kapitel16.jsp#afsn16.5'>16.5  Avanceret  </a>261  <br>
  <a href='kapitel16.jsp#afsn16.5.1'>16.5.1  FTP-kommunikation  </a>261  <br>
  <a href='kapitel16.jsp#afsn16.5.2'>16.5.2  Brug af FTP fra en applet  </a>263  <br>
<a href='kapitel17.jsp#afsn17'>17  Flertr&aring;det programmering  </a>265  <br>
  <a href='kapitel17.jsp#afsn17.1'>17.1  Princip  </a>266  <br>
  <a href='kapitel17.jsp#afsn17.1.1'>17.1.1  Eksempel  </a>266  <br>
  <a href='kapitel17.jsp#afsn17.2'>17.2  Ekstra eksempler  </a>268  <br>
  <a href='kapitel17.jsp#afsn17.2.1'>17.2.1  En flertr&aring;det webserver  </a>268  <br>
  <a href='kapitel17.jsp#afsn17.2.2'>17.2.2  Et flertr&aring;det program med hoppende bolde  </a>269  <br>
  <a href='kapitel17.jsp#afsn17.3'>17.3  Opgaver  </a>270    <br>
  <a href='kapitel17.jsp#afsn17.4'>17.4  Avanceret  </a>271  <br>
  <a href='kapitel17.jsp#afsn17.4.1'>17.4.1  Nedarvning fra Thread  </a>271  <br>
  <a href='kapitel17.jsp#afsn17.4.2'>17.4.2  Synkronisering  </a>271  <br>
  <a href='kapitel17.jsp#afsn17.4.3'>17.4.3  Synkronisering p&aring; objekter og semaforer  </a>272  <br>
  <a href='kapitel17.jsp#afsn17.4.4'>17.4.4  wait() og notify()  </a>272  <br>
  <a href='kapitel17.jsp#afsn17.4.5'>17.4.5  Prioritet  </a>272  <br>
  <a href='kapitel17.jsp#afsn17.4.6'>17.4.6  Opgaver  </a>272  <br>
<a href='kapitel18.jsp#afsn18'>18  Serialisering af objekter  </a>273  <br>
  <a href='kapitel18.jsp#afsn18.1'>18.1  Hente og gemme objekter  </a>274  <br>
  <a href='kapitel18.jsp#afsn18.2'>18.2  Serialisering af egne klasser  </a>275  <br>
  <a href='kapitel18.jsp#afsn18.2.1'>18.2.1  Interfacet Serializable  </a>275  <br>
  <a href='kapitel18.jsp#afsn18.2.2'>18.2.2  N&oslash;gleordet transient  </a>275  <br>
  <a href='kapitel18.jsp#afsn18.2.3'>18.2.3  Versionsnummeret p&aring; klassen  </a>275  <br>
  <a href='kapitel18.jsp#afsn18.2.4'>18.2.4  Eksempel  </a>276  <br>
  <a href='kapitel18.jsp#afsn18.3'>18.3  Opgaver  </a>276  <br>
  <a href='kapitel18.jsp#afsn18.4'>18.4  Avanceret  </a>277  <br>
  <a href='kapitel18.jsp#afsn18.4.1'>18.4.1  Serialisere det samme objekt flere gange  </a>277  <br>
  <a href='kapitel18.jsp#afsn18.4.2'>18.4.2  Selv styre serialiseringen af en klasse  </a>278  <br>
<a href='kapitel19.jsp#afsn19'>19  RMI - objekter over netv&aelig;rk  </a>279  <br>
  <a href='kapitel19.jsp#afsn19.1'>19.1  Principper  </a>280  <br>
  <a href='kapitel19.jsp#afsn19.2'>19.2  I praksis  </a>280  <br>
  <a href='kapitel19.jsp#afsn19.2.1'>19.2.1  P&aring; serversiden  </a>281  <br>
  <a href='kapitel19.jsp#afsn19.2.2'>19.2.2  P&aring; klientsiden  </a>282  <br>
  <a href='kapitel19.jsp#afsn19.3'>19.3  Opgaver  </a>282  <br>
  <a href='kapitel19.jsp#afsn19.3.1'>19.3.1  Server og klient to forskellige steder  </a>282  <br>
  <a href='kapitel19.jsp#afsn19.3.2'>19.3.2  Starte separat 'rmiregistry'  </a>282  <br>
<a href='kapitel20.jsp#afsn20'>20  JDBC - databaseadgang  </a>283  <br>
  <a href='kapitel20.jsp#afsn20.1'>20.1  Kontakt til databasen  </a>284  <br>
  <a href='kapitel20.jsp#afsn20.1.1'>20.1.1  JDBC-ODBC-broen under Windows  </a>284  <br>
  <a href='kapitel20.jsp#afsn20.2'>20.2  Kommunikere med databasen  </a>284  <br>
  <a href='kapitel20.jsp#afsn20.2.1'>20.2.1  Kommandoer  </a>284  <br>
  <a href='kapitel20.jsp#afsn20.2.2'>20.2.2  Foresp&oslash;rgsler  </a>285  <br>
  <a href='kapitel20.jsp#afsn20.3'>20.3  Adskille database- og programlogik  </a>285  <br>
  <a href='kapitel20.jsp#afsn20.4'>20.4  Opgaver  </a>287  <br>
  <a href='kapitel20.jsp#afsn20.5'>20.5  Avanceret  </a>288  <br>
  <a href='kapitel20.jsp#afsn20.5.1'>20.5.1  Forpligtende eller ej? (commit)  </a>288  <br>
  <a href='kapitel20.jsp#afsn20.5.2'>20.5.2  Optimering  </a>288  <br>
  <a href='kapitel20.jsp#afsn20.5.3'>20.5.3  Metadata  </a>290  <br>
  <a href='kapitel20.jsp#afsn20.5.4'>20.5.4  Opdatering og navigering i ResultSet-objekter  </a>290    <br>
  <a href='kapitel21.jsp#afsn21'>21 Avancerede  klasser  </a>291  <br>
  <a href='kapitel21.jsp#afsn21.1'>21.1  N&oslash;gleordet abstract  </a>292  <br>
  <a href='kapitel21.jsp#afsn21.1.1'>21.1.1  Abstrakte klasser  </a>292  <br>
  <a href='kapitel21.jsp#afsn21.1.2'>21.1.2  Abstrakte metoder  </a>292  <br>
  <a href='kapitel21.jsp#afsn21.2'>21.2  N&oslash;gleordet final  </a>293  <br>
  <a href='kapitel21.jsp#afsn21.2.1'>21.2.1  Variabler erkl&aelig;ret final  </a>293  <br>
  <a href='kapitel21.jsp#afsn21.2.2'>21.2.2  Metoder erkl&aelig;ret final  </a>294  <br>
  <a href='kapitel21.jsp#afsn21.2.3'>21.2.3  Klasser erkl&aelig;ret final  </a>294  <br>
  <a href='kapitel21.jsp#afsn21.3'>21.3  Indre klasser  </a>295  <br>
  <a href='kapitel21.jsp#afsn21.4'>21.4  Almindelige indre klasser  </a>295  <br>
  <a href='kapitel21.jsp#afsn21.4.1'>21.4.1  Eksempel - Linjetegning  </a>296  <br>
  <a href='kapitel21.jsp#afsn21.5'>21.5  Lokale indre klasser  </a>297  <br>
  <a href='kapitel21.jsp#afsn21.6'>21.6  Anonyme indre klasser  </a>298  <br>
  <a href='kapitel21.jsp#afsn21.6.1'>21.6.1  Eksempel - filtrering af filnavne  </a>298  <br>
  <a href='kapitel21.jsp#afsn21.6.2'>21.6.2  Eksempel - Linjetegning  </a>299  <br>
  <a href='kapitel21.jsp#afsn21.6.3'>21.6.3  Eksempel - tr&aring;de  </a>300  <br>
  <a href='kapitel21.jsp#afsn21.7'>21.7  Resum&eacute;  </a>301  <br>
  <a href='kapitel21.jsp#afsn21.8'>21.8  Opgaver  </a>301  <br>
  <a href='kapitel21.jsp#afsn21.9'>21.9  Avanceret  </a>302  <br>
  <a href='kapitel21.jsp#afsn21.9.1'>21.9.1  public, protected og private p&aring; en indre klasse  </a>302  <br>
  <a href='kapitel21.jsp#afsn21.9.2'>21.9.2  static p&aring; en indre klasse  </a>302  <br>
<a href='kapitel22.jsp#afsn22'>22  Objektorienteret analyse og design  </a>303  <br>
  <a href='kapitel22.jsp#afsn22.1'>22.1  Krav til programmet  </a>304  <br>
  <a href='kapitel22.jsp#afsn22.2'>22.2  Objektorienteret analyse  </a>305  <br>
  <a href='kapitel22.jsp#afsn22.2.1'>22.2.1  Skrive vigtige ord op  </a>305  <br>
  <a href='kapitel22.jsp#afsn22.2.2'>22.2.2  Brugssituationer - Hvem Hvad Hvor  </a>305  <br>
  <a href='kapitel22.jsp#afsn22.2.3'>22.2.3  Aktivitetsdiagrammer  </a>307  <br>
  <a href='kapitel22.jsp#afsn22.2.4'>22.2.4  Sk&aelig;rmbilleder  </a>307  <br>
  <a href='kapitel22.jsp#afsn22.3'>22.3  Objektorienteret design  </a>308  <br>
  <a href='kapitel22.jsp#afsn22.3.1'>22.3.1  Design af klasser  </a>308  <br>
  <a href='kapitel22.jsp#afsn22.3.2'>22.3.2  Kollaborationsdiagrammer  </a>309  <br>
  <a href='kapitel22.jsp#afsn22.3.3'>22.3.3  Klassediagrammer  </a>310  <br>
Engelsk-dansk  ordliste  311  <br>
Stikordsregister  315
<hr>
<font size=-2>http://javabog.dk/ - <b></b> af Jacob Nordfalk.
<br>
  Licens og kopiering under <a href='http://www.linuxbog.dk/licens.html'>&Aring;ben Dokumentlicens</a> (&Aring;DL)
  hvor intet andet er nævnt (79% af værket).
</font>
<br>
Ønsker du at se de sidste 21% af dette værk (226970 tegn)
skal du købe bogen. Så får du pæne figurer og layout, stikordsregister og en trykt bog med i købet.
<!-- netlæser: Wget/1.10, autoHent: true  -->
     

</body>
</html>
