Herbert Schildt java. kompendium programisty. wydanie viii full scan.pdf

(22531 KB) Pobierz
887734945.001.png
Spis treci
O autorze ................................................................................................. 23
O redaktorze merytorycznym ......................................................................................................23
Przedmowa .............................................................................................. 25
Cz I Jzyk Java ............................................................................ 29
Rozdzia 1. Historia i ewolucja jzyka Java ................................................................. 31
Rodowód Javy .............................................................................................................................31
Narodziny nowoczesnego jzyka — C ..................................................................................32
Jzyk C++ — nastpny krok .................................................................................................33
Podwaliny jzyka Java ..........................................................................................................34
Powstanie jzyka Java .................................................................................................................34
Powizanie z jzykiem C# ....................................................................................................36
Jak jzyk Java zmieni internet ....................................................................................................36
Aplety Javy ...........................................................................................................................37
Bezpieczestwo .....................................................................................................................37
Przenono ...........................................................................................................................38
Magia jzyka Java — kod bajtowy ..............................................................................................38
Serwlety — Java po stronie serwera ............................................................................................39
Hasa jzyka Java ........................................................................................................................40
Prostota ..................................................................................................................................40
Obiektowo ..........................................................................................................................40
Niezawodno .......................................................................................................................41
Wielowtkowo ...................................................................................................................41
Neutralno architektury .......................................................................................................42
Interpretowalno i wysoka wydajno .................................................................................42
Rozproszenie .........................................................................................................................42
Dynamika ..............................................................................................................................42
Ewolucja Javy ..............................................................................................................................42
Java SE 7 ...............................................................................................................................44
Kultura innowacji ........................................................................................................................46
Rozdzia 2. Podstawy jzyka Java ............................................................................... 47
Programowanie obiektowe ..........................................................................................................47
Dwa paradygmaty .................................................................................................................47
Abstrakcja .............................................................................................................................48
Trzy zasady programowania obiektowego ............................................................................48
4
Java. Kompendium programisty
Pierwszy przykadowy program ..................................................................................................53
Wpisanie kodu programu ......................................................................................................54
Kompilacja programów .........................................................................................................54
Blisze spojrzenie na pierwszy przykadowy program ..........................................................55
Drugi prosty program ..................................................................................................................57
Dwa wyraenia sterujce .............................................................................................................59
Wyraenie if ..........................................................................................................................59
Ptla for .................................................................................................................................60
Bloki kodu ...................................................................................................................................61
Kwestie skadniowe .....................................................................................................................63
Znaki biae .............................................................................................................................63
Identyfikatory ........................................................................................................................63
Stae .......................................................................................................................................63
Komentarze ...........................................................................................................................64
Separatory .............................................................................................................................64
Sowa kluczowe jzyka Java .................................................................................................64
Biblioteki klas Javy .....................................................................................................................65
Rozdzia 3. Typy danych, zmienne i tablice ................................................................. 67
Java to jzyk ze cis kontrol typów .........................................................................................67
Typy proste ..................................................................................................................................67
Typy cakowitoliczbowe ..............................................................................................................68
Typ byte ................................................................................................................................69
Typ short ...............................................................................................................................69
Typ int ...................................................................................................................................69
Typ long ................................................................................................................................69
Typy zmiennoprzecinkowe ..........................................................................................................70
Typ float ................................................................................................................................71
Typ double ............................................................................................................................71
Typ znakowy ...............................................................................................................................71
Typ logiczny ................................................................................................................................73
Blisze spojrzenie na stae ...........................................................................................................74
Stae cakowitoliczbowe ........................................................................................................74
Stae zmiennoprzecinkowe ....................................................................................................75
Stae logiczne ........................................................................................................................76
Stae znakowe ........................................................................................................................76
Stae acuchowe ...................................................................................................................77
Zmienne .......................................................................................................................................77
Deklaracja zmiennej ..............................................................................................................78
Inicjalizacja dynamiczna .......................................................................................................78
Zasig i czas ycia zmiennych ..............................................................................................79
Konwersja typów i rzutowanie ....................................................................................................81
Automatyczna konwersja typów ...........................................................................................81
Rzutowanie niezgodnych typów ............................................................................................82
Automatyczne rozszerzanie typów w wyraeniach .....................................................................83
Zasady rozszerzania typu ......................................................................................................84
Tablice .........................................................................................................................................85
Tablice jednowymiarowe ......................................................................................................85
Tablice wielowymiarowe ......................................................................................................87
Alternatywna skadnia deklaracji tablicy ...............................................................................91
Kilka sów o acuchach ..............................................................................................................92
Uwaga dla programistów jzyka C lub C++ na temat wskaników .............................................92
Spis treci
5
Rozdzia 4. Operatory ................................................................................................. 93
Operatory arytmetyczne ..............................................................................................................93
Podstawowe operatory arytmetyczne ....................................................................................94
Operator reszty z dzielenia ....................................................................................................95
Operatory arytmetyczne z przypisaniem ...............................................................................95
Inkrementacja i dekrementacja ..............................................................................................96
Operatory bitowe .........................................................................................................................98
Logiczne operatory bitowe ....................................................................................................99
Przesunicie w lewo ............................................................................................................101
Przesunicie w prawo ..........................................................................................................103
Przesunicie w prawo bez znaku .........................................................................................104
Operatory bitowe z przypisaniem ........................................................................................105
Operatory relacji ........................................................................................................................106
Operatory logiczne ....................................................................................................................107
Operatory logiczne ze skracaniem .......................................................................................109
Operator przypisania ..................................................................................................................109
Operator ? ..................................................................................................................................110
Kolejno wykonywania operatorów .........................................................................................111
Stosowanie nawiasów okrgych ...............................................................................................112
Rozdzia 5. Wyraenia sterujce ............................................................................... 113
Instrukcje wyboru ......................................................................................................................113
Konstrukcja if ......................................................................................................................113
Konstrukcja switch ..............................................................................................................116
Instrukcje iteracyjne ..................................................................................................................121
Ptla while ...........................................................................................................................121
Ptla do-while ......................................................................................................................122
Ptla for ...............................................................................................................................125
Wersja for-each ptli for ......................................................................................................128
Ptle zagniedone ..............................................................................................................133
Instrukcje skoku .........................................................................................................................134
Instrukcja break ...................................................................................................................134
Instrukcja continue ..............................................................................................................138
Instrukcja return ..................................................................................................................139
Rozdzia 6. Wprowadzenie do klas ............................................................................ 141
Klasy ..........................................................................................................................................141
Ogólna posta klasy ............................................................................................................141
Prosta klasa ..........................................................................................................................142
Deklarowanie obiektów .............................................................................................................145
Blisze spojrzenie na operator new .....................................................................................146
Przypisywanie zmiennych referencyjnych do obiektów ............................................................147
Wprowadzenie do metod ...........................................................................................................148
Dodanie metody do klasy Box ............................................................................................148
Zwracanie wartoci .............................................................................................................150
Dodanie metody przyjmujcej parametry ............................................................................151
Konstruktor ................................................................................................................................153
Konstruktor sparametryzowany ...........................................................................................155
Sowo kluczowe this ..................................................................................................................156
Ukrywanie zmiennych skadowych .....................................................................................157
Mechanizm odzyskiwania pamici ............................................................................................157
Metoda finalize() .......................................................................................................................158
Klasa stosu .................................................................................................................................158
6
Java. Kompendium programisty
Rozdzia 7. Dokadniejsze omówienie metod i klas .................................................... 161
Przecianie metod ....................................................................................................................161
Przecianie konstruktorów .................................................................................................164
Obiekty jako parametry .............................................................................................................166
Dokadniejsze omówienie przekazywania argumentów ............................................................168
Zwracanie obiektów ..................................................................................................................170
Rekurencja .................................................................................................................................171
Wprowadzenie do kontroli dostpu ...........................................................................................173
Skadowe statyczne ...................................................................................................................176
Sowo kluczowe final ................................................................................................................178
Powtórka z tablic .......................................................................................................................179
Klasy zagniedone i klasy wewntrzne ....................................................................................181
Omówienie klasy String ............................................................................................................183
Wykorzystanie argumentów wiersza polece ............................................................................186
Zmienna liczba argumentów ......................................................................................................187
Przecianie metod o zmiennej liczbie argumentów ...........................................................190
Zmienna liczba argumentów i niejednoznacznoci .............................................................191
Rozdzia 8. Dziedziczenie ......................................................................................... 193
Podstawy dziedziczenia .............................................................................................................193
Dostp do skadowych a dziedziczenie ...............................................................................195
Bardziej praktyczny przykad ..............................................................................................196
Zmienna klasy bazowej moe zawiera referencj do obiektu podklasy .............................198
Sowo kluczowe super ...............................................................................................................199
Wykorzystanie sowa kluczowego super do wywoania konstruktora klasy bazowej .........199
Drugie zastosowanie sowa kluczowego super ....................................................................202
Tworzenie hierarchii wielopoziomowej ....................................................................................203
Kiedy dochodzi do wywoania konstruktorów? .........................................................................206
Przesanianie metod ...................................................................................................................207
Dynamiczne przydzielanie metod ..............................................................................................209
Dlaczego warto przesania metody? ..................................................................................211
Zastosowanie przesaniania metod ......................................................................................211
Klasy abstrakcyjne .....................................................................................................................213
Sowo kluczowe final i dziedziczenie ........................................................................................216
Sowo kluczowe final zapobiega przesanianiu ...................................................................216
Sowo kluczowe final zapobiega dziedziczeniu ..................................................................216
Klasa Object ..............................................................................................................................217
Rozdzia 9. Pakiety i interfejsy ................................................................................. 219
Pakiety .......................................................................................................................................219
Definiowanie pakietu ..........................................................................................................220
Znajdowanie pakietów i cieka CLASSPATH ..................................................................220
Prosty przykad pakietu .......................................................................................................221
Ochrona dostpu ........................................................................................................................222
Przykad dostpu .................................................................................................................223
Import pakietów .........................................................................................................................226
Interfejsy ....................................................................................................................................228
Definiowanie interfejsu .......................................................................................................228
Implementacja interfejsu .....................................................................................................229
Interfejsy zagniedone .......................................................................................................232
Stosowanie interfejsów ........................................................................................................233
Zmienne w interfejsach .......................................................................................................236
Interfejsy mona rozszerza ................................................................................................238
Zgłoś jeśli naruszono regulamin