Jeff Friesen java. przygotowanie do programowania na platformę android pełna wersja.pdf

(29251 KB) Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
862823353.001.png
Ty t uł oryginału: Learn Java for Android Development
Tłumaczenie: Daniel Kaczmarek (wstęp, rozdz. 1 – 7, dod. A)
Aleksander Lamża (rozdz. 8 – 10, dod. A)
ISBN: 978-83-246-3372-2
Original edition copyright © 2010 by Jeff “JavaJeff” Friesen.
All rights reserved.
Polish edition copyright © 2012 by Helion S.A.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording or by any information storage
retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym
powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi
ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje
były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani
za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz
Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody
wynikłe z wykorzystania informacji zawartych w książce.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/jappan.zip
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/jappan
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
862823353.002.png
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
862823353.003.png
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
Zgłoś jeśli naruszono regulamin