Jeff Friesen java. przygotowanie do programowania na platformę android helion, ebooki
[ Pobierz całość w formacie PDF ]
Spis treci
O autorze ....................................................................................................11
O recenzencie technicznym .........................................................................12
Wprowadzenie ...........................................................................................13
Rozdzia 1.
Pierwsze kroki w jzyku Java .....................................................................17
Czym jest Java? ....................................................................................................................... 17
Java jest językiem programowania ............................................................................... 18
Java jest platformą .......................................................................................................... 19
Java SE, Java EE, Java ME i Android ............................................................................ 21
Instalacja i poznawanie możliwości JDK ........................................................................... 22
Instalacja i poznawanie możliwości dwóch najpopularniejszych środowisk IDE ....... 27
Zintegrowane środowisko programistyczne NetBeans ............................................. 28
Zintegrowane środowisko programistyczne Eclipse ................................................. 32
Gra karciana Kareta ............................................................................................................... 35
Reguły gry w Karetę ........................................................................................................ 36
Model gry Kareta w pseudokodzie ............................................................................... 36
Przekształcenie pseudokodu na kod języka Java ........................................................ 38
Kompilowanie, uruchamianie i udostępnianie aplikacji FourOfAKind ................ 51
Podsumowanie ....................................................................................................................... 55
Rozdzia 2.
Podstawy jzyka Java .................................................................................57
Klasy ......................................................................................................................................... 57
Deklarowanie klas ........................................................................................................... 58
Pola .................................................................................................................................... 59
Metody .............................................................................................................................. 73
Konstruktory ...................................................................................................................91
Inne konstrukcje inicjalizujące ..................................................................................... 93
Interfejs a implementacja .............................................................................................. 98
Obiekty .................................................................................................................................. 102
Tworzenie obiektów i tablic ........................................................................................ 102
Uzyskiwanie dostępu do pól ....................................................................................... 104
Wywoływanie metod .................................................................................................... 106
Odśmiecanie .................................................................................................................. 109
Podsumowanie ..................................................................................................................... 111
JAVA. PRZYGOTOWANIE DO PROGRAMOWANIA NA PLATFORM ANDROID
Rozdzia 3.
Mechanizmy jzyka zorientowane obiektowo ..........................................115
Dziedziczenie ........................................................................................................................ 115
Rozszerzanie klas .......................................................................................................... 116
Najwyższa klasa przodka ............................................................................................. 121
Kompozycja ................................................................................................................... 130
Problemy z dziedziczeniem implementacji .............................................................. 130
Wielopostaciowość .............................................................................................................. 134
Rzutowanie w górę i późne wiązanie ......................................................................... 135
Klasy i metody abstrakcyjne ........................................................................................ 138
Rzutowanie w dół i identyfikacja typów w fazie wykonania .................................. 140
Kowariantne typy zwracanych wartości .................................................................... 142
Interfejsy ................................................................................................................................ 144
Deklarowanie interfejsów ............................................................................................ 144
Implementowanie interfejsów .................................................................................... 145
Rozszerzanie interfejsów .............................................................................................. 149
Po co używać interfejsów? ........................................................................................... 150
Podsumowanie ..................................................................................................................... 156
Rozdzia 4.
Zaawansowane mechanizmy jzyka — cz I .........................................157
Typy zagnieżdżone .............................................................................................................. 157
Statyczne klasy składowe ............................................................................................. 157
Niestatyczne klasy składowe ....................................................................................... 160
Klasy anonimowe .......................................................................................................... 164
Klasy lokalne .................................................................................................................. 166
Interfejsy wewnątrz klas ............................................................................................... 168
Pakiety ................................................................................................................................... 169
Czym są pakiety? ........................................................................................................... 169
Instrukcja pakietu ......................................................................................................... 171
Instrukcja importu ........................................................................................................ 171
Wyszukiwanie pakietów i typów ................................................................................ 172
Korzystanie z pakietów ................................................................................................ 174
Pakiety i pliki JAR ......................................................................................................... 178
Importy statyczne ................................................................................................................ 178
Wyjątki .................................................................................................................................. 180
Czym są wyjątki? ........................................................................................................... 181
Reprezentowanie wyjątków w kodzie źródłowym ................................................... 181
Rzucanie wyjątków ....................................................................................................... 185
Obsługa wyjątków ......................................................................................................... 188
Wykonywanie czynności sprzątających .................................................................... 192
Podsumowanie ..................................................................................................................... 198
Rozdzia 5.
Zaawansowane mechanizmy jzyka — cz II ........................................199
Asercje ................................................................................................................................... 199
Deklarowanie asercji .................................................................................................... 200
Korzystanie z asercji ..................................................................................................... 201
Unikanie korzystania z asercji .................................................................................... 207
Włączanie i wyłączanie asercji .................................................................................... 207
6
SPIS TRECI
Adnotacje .............................................................................................................................. 208
Działanie adnotacji ....................................................................................................... 209
Deklarowanie typów adnotacji i wstawianie adnotacji do kodu źródłowego ...... 212
Przetwarzanie adnotacji ............................................................................................... 216
Mechanizmy ogólne ............................................................................................................ 218
Kolekcje i potrzeba bezpieczeństwa typologicznego ............................................... 219
Typy ogólne ................................................................................................................... 221
Metody ogólne ............................................................................................................... 232
Typy wyliczeniowe .............................................................................................................. 233
Problem z tradycyjnymi typami wyliczeniowymi .................................................... 234
Enum — alternatywa dla tradycyjnego typu wyliczeniowego ............................... 235
Klasa Enum .................................................................................................................... 240
Podsumowanie ..................................................................................................................... 244
Rozdzia 6.
Podstawowe interfejsy API — cz I .......................................................247
Interfejsy API do wykonywania obliczeń matematycznych .......................................... 247
Klasy Math i StrictMath ............................................................................................... 247
Klasa BigDecimal .......................................................................................................... 254
Klasa BigInteger ............................................................................................................ 259
Informacje na temat pakietów ........................................................................................... 263
Podstawowe klasy opakowujące ........................................................................................ 267
Klasa Boolean ................................................................................................................ 268
Klasa Character ............................................................................................................. 270
Klasy Float i Double ..................................................................................................... 271
Klasy Integer, Long, Short i Byte ................................................................................ 275
Klasa Number ................................................................................................................ 277
API References ..................................................................................................................... 277
Podstawowe pojęcia ...................................................................................................... 277
Klasy Reference i ReferenceQueue ............................................................................. 279
Klasa SoftReference ...................................................................................................... 280
Klasa WeakReference ................................................................................................... 283
Klasa PhantomReference ............................................................................................. 284
Podsumowanie ..................................................................................................................... 288
Rozdzia 7.
Podstawowe interfejsy API — cz II ......................................................289
API Reflection ...................................................................................................................... 289
Zarządzanie ciągami znaków ............................................................................................. 297
Klasa String .................................................................................................................... 298
Klasa StringBuffer ......................................................................................................... 301
Klasa System ......................................................................................................................... 304
API Threading ...................................................................................................................... 307
Interfejs Runnable i klasa Thread ............................................................................... 307
Synchronizacja wątków ................................................................................................ 317
Podsumowanie ..................................................................................................................... 333
Rozdzia 8.
Biblioteka kolekcji .................................................................................... 335
Przegląd biblioteki ............................................................................................................... 335
Interfejs Comparable kontra Comparator ................................................................ 336
7
JAVA. PRZYGOTOWANIE DO PROGRAMOWANIA NA PLATFORM ANDROID
Interfejsy Iterable i Collection ........................................................................................... 338
Iterator i nowa pętla for ............................................................................................... 341
Automatyczne pakowanie i rozpakowywanie .......................................................... 342
Interfejs List .......................................................................................................................... 344
Klasa ArrayList .............................................................................................................. 348
Klasa LinkedList ............................................................................................................ 349
Interfejs Set ........................................................................................................................... 351
Klasa TreeSet ................................................................................................................. 351
Klasa HashSet ................................................................................................................ 353
Klasa EnumSet .............................................................................................................. 356
Interfejs SortedSet ................................................................................................................ 358
Interfejs Queue ..................................................................................................................... 365
Klasa PriorityQueue ..................................................................................................... 366
Interfejs Map ........................................................................................................................ 369
Klasa TreeMap .............................................................................................................. 373
HashMap ........................................................................................................................ 374
Klasa IdentityHashMap ............................................................................................... 380
Klasa WeakHashMap ................................................................................................... 382
Klasa EnumMap ............................................................................................................ 383
Interfejs SortedMap ............................................................................................................. 384
Narzędzia .............................................................................................................................. 387
Klasyczne klasy kolekcji ...................................................................................................... 389
Podsumowanie ..................................................................................................................... 396
Rozdzia 9.
Dodatkowe biblioteki klas narzdziowych ...............................................397
Narzędzia wspomagające współbieżność ......................................................................... 397
Wykonawcy ................................................................................................................... 397
Synchronizatory ............................................................................................................ 406
Współbieżne kolekcje ................................................................................................... 408
Blokady ........................................................................................................................... 410
Zmienne atomowe ........................................................................................................ 413
Internacjonalizacja ............................................................................................................... 414
Lokalizatory ................................................................................................................... 414
Paczki zasobów .............................................................................................................. 416
Iteratory operujące na tekście ..................................................................................... 425
Porównywanie tekstów — klasa Collator .................................................................. 429
Daty, strefy czasowe i kalendarze ............................................................................... 430
Formatery ....................................................................................................................... 436
Biblioteka klas preferencji .................................................................................................. 443
Generowanie liczb pseudolosowych ................................................................................. 446
Wyrażenia regularne ........................................................................................................... 449
Podsumowanie ..................................................................................................................... 460
Rozdzia 10. Operacje wejcia-wyjcia ..........................................................................463
Klasa File ............................................................................................................................... 463
Klasa RandomAccessFile .................................................................................................... 474
Strumienie ............................................................................................................................. 485
Przegląd klas strumieni ................................................................................................ 485
Klasy OutputStream i InputStream ............................................................................ 487
8
[ Pobierz całość w formacie PDF ]