Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00655 011315 16966021 na godz. na dobę w sumie
Java. Przewodnik dla początkujących. Wydanie VI - ebook/pdf
Java. Przewodnik dla początkujących. Wydanie VI - ebook/pdf
Autor: Liczba stron: 560
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-0811-4 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> java - programowanie
Porównaj ceny (książka, ebook (-40%), audiobook).

Twoja przepustka do świata Javy!

Java to najczęściej wybierany język programowania do zadań specjalnych. Jeżeli Twój projekt wymaga najwyższego poziomu bezpieczeństwa, ogromnej wydajności oraz sprawdzonych rozwiązań, to wybór może być tylko jeden! Właśnie Java jest najczęściej używana do tworzenia zaawansowanych systemów bankowych oraz aplikacji do zarządzania przedsiębiorstwami i finansami. Ale czy sprawdzi się w typowym projekcie? Oczywiście!

Rozpocznij własną przygodę z tym popularnym językiem programowania — z pomocą tej książki. Kolejne wydanie zostało poprawione i zaktualizowane o nowości ze świata Javy. Każda strona zawiera bezcenną wiedzę na temat składni języka, stosowanych w nim konstrukcji, programowania obiektowego i nie tylko. Sprawdzisz tu, jak obsługiwać wyjątki, korzystać ze strumieni oraz wątków. Jeżeli masz ambicję stworzyć atrakcyjny interfejs użytkownika z użyciem JavaFX, również będziesz usatysfakcjonowany znalezionymi w tej książce informacjami. Jest to doskonała lektura dla wszystkich osób chcących poznać Javę — jeden z najbardziej cenionych języków programowania.

Dzięki tej książce: Zaprojektowana, by ułatwić naukę:

Poznaj i wykorzystaj możliwości języka Java w wersji Java SE 8 (JDK 8)!



Herbert Schildt — autorytet w świecie programistów Javy, C, C++ oraz C#. Jest autorem bestsellerów poświęconych programowaniu w tych językach. Swoją uwagę koncentruje na językach programowania, interpreterach, kompilatorach oraz sterowaniu robotami. Bierze aktywny udział w procesie standaryzacji języków programowania.
 
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Java™: A Beginner’s Guide, Sixth Edition Tłumaczenie: Piotr Rajca ISBN: 978-83-283-0808-4 Original edition copyright © 2014 by McGraw-Hill Education (Publisher). All rights reserved. Polish edition copyright © 2015 by HELION SA 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. 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) Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/javpp6.zip Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/javpp6 Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis tre(cid:258)ci O autorze ...................................................................................................................... 13 O redaktorze technicznym ........................................................................................... 14 Wst(cid:218)p ............................................................................................................................ 15 1. Podstawy Javy ............................................................................................................... 19 Pochodzenie Javy ...................................................................................................................20 Java a j(cid:218)zyki C i C++ ....................................................................................................20 Java a C# .......................................................................................................................21 Java a Internet ........................................................................................................................21 Aplety Java .....................................................................................................................21 Bezpiecze(cid:241)stwo .............................................................................................................22 Przeno(cid:258)no(cid:258)(cid:202) ...................................................................................................................22 Magiczny kod bajtowy ...........................................................................................................22 Terminologia Javy ...................................................................................................................23 Programowanie obiektowe .....................................................................................................24 Hermetyzacja .................................................................................................................25 Polimorfizm ...................................................................................................................26 Dziedziczenie ................................................................................................................26 Java Development Kit .............................................................................................................26 Pierwszy prosty program ........................................................................................................27 Wprowadzenie tekstu programu ....................................................................................28 Kompilowanie programu ................................................................................................28 Pierwszy program wiersz po wierszu ..............................................................................29 Obs(cid:239)uga b(cid:239)(cid:218)dów sk(cid:239)adni .........................................................................................................31 Drugi prosty program .............................................................................................................31 Inne typy danych ...................................................................................................................33 Dwie instrukcje steruj(cid:200)ce .......................................................................................................35 Instrukcja if ....................................................................................................................35 P(cid:218)tla for .........................................................................................................................36 Bloki kodu .............................................................................................................................37 (cid:165)rednik i pozycja kodu w wierszu ...........................................................................................38 Wci(cid:218)cia ..................................................................................................................................39 S(cid:239)owa kluczowe j(cid:218)zyka Java ...................................................................................................41 Identyfikatory .........................................................................................................................41 Biblioteki klas .........................................................................................................................41 Test sprawdzaj(cid:200)cy ..................................................................................................................42 Poleć książkęKup książkę 4 Java. Przewodnik dla pocz(cid:200)tkuj(cid:200)cych 2. Typy danych i operatory ............................................................................................... 43 Dlaczego typy danych s(cid:200) tak wa(cid:285)ne ....................................................................................... 43 Typy proste ............................................................................................................................ 44 Typy ca(cid:239)kowite .............................................................................................................. 44 Typy zmiennoprzecinkowe ............................................................................................ 45 Znaki ............................................................................................................................. 46 Typ logiczny .......................................................................................................................... 47 Litera(cid:239)y .................................................................................................................................. 49 Litera(cid:239)y szesnastkowe, ósemkowe i binarne .................................................................... 49 Specjalne sekwencje znaków ......................................................................................... 49 Litera(cid:239)y (cid:239)a(cid:241)cuchowe ....................................................................................................... 50 Zmienne ................................................................................................................................ 51 Inicjalizacja zmiennej .................................................................................................... 51 Dynamiczna inicjalizacja ............................................................................................... 51 Zasi(cid:218)g deklaracji i czas istnienia zmiennych ........................................................................... 52 Operatory .............................................................................................................................. 54 Operatory arytmetyczne ........................................................................................................ 54 Inkrementacja i dekrementacja ...................................................................................... 55 Operatory relacyjne i logiczne ............................................................................................... 56 Warunkowe operatory logiczne ............................................................................................. 58 Operator przypisania ............................................................................................................. 59 Skrótowe operatory przypisania ............................................................................................. 59 Konwersje typów w instrukcjach przypisania .......................................................................... 60 Rzutowanie typów niezgodnych ............................................................................................ 61 Priorytet operatorów .............................................................................................................. 63 Wyra(cid:285)enia ............................................................................................................................. 64 Konwersja typów w wyra(cid:285)eniach ................................................................................... 64 Odst(cid:218)py i nawiasy ......................................................................................................... 66 Test sprawdzaj(cid:200)cy .................................................................................................................. 66 Instrukcje steruj(cid:200)ce ....................................................................................................... 67 Wprowadzanie znaków z klawiatury ...................................................................................... 67 Instrukcja if ............................................................................................................................ 68 Zagnie(cid:285)d(cid:285)anie instrukcji if ...................................................................................................... 69 Drabinka if-else-if .................................................................................................................. 70 Instrukcja switch .................................................................................................................... 71 Zagnie(cid:285)d(cid:285)anie instrukcji switch .............................................................................................. 74 P(cid:218)tla for ................................................................................................................................. 76 Wariacje na temat p(cid:218)tli for .................................................................................................... 77 Brakuj(cid:200)ce elementy ............................................................................................................... 78 P(cid:218)tla niesko(cid:241)czona ........................................................................................................ 79 P(cid:218)tle bez cia(cid:239)a ....................................................................................................................... 79 Deklaracja zmiennych steruj(cid:200)cych wewn(cid:200)trz p(cid:218)tli .................................................................. 80 Rozszerzona p(cid:218)tla for ............................................................................................................ 80 P(cid:218)tla while ............................................................................................................................. 81 P(cid:218)tla do-while ....................................................................................................................... 82 Przerywanie p(cid:218)tli instrukcj(cid:200) break .......................................................................................... 86 Zastosowanie break jako formy goto ...................................................................................... 87 Zastosowanie instrukcji continue ........................................................................................... 91 P(cid:218)tle zagnie(cid:285)d(cid:285)one ................................................................................................................ 94 Test sprawdzaj(cid:200)cy .................................................................................................................. 95 3. Poleć książkęKup książkę Spis tre(cid:258)ci 5 4. Wprowadzenie do klas, obiektów i metod ................................................................... 97 Podstawy klas .........................................................................................................................97 Ogólna posta(cid:202) klasy .......................................................................................................98 Definiowanie klasy .........................................................................................................98 Jak powstaj(cid:200) obiekty .............................................................................................................101 Referencje obiektów i operacje przypisania ..........................................................................101 Metody ................................................................................................................................102 Dodajemy metod(cid:218) do klasy Vehicle .............................................................................102 Powrót z metody ..................................................................................................................104 Zwracanie warto(cid:258)ci ..............................................................................................................105 Stosowanie parametrów .......................................................................................................106 Dodajemy sparametryzowan(cid:200) metod(cid:218) do klasy Vehicle ...............................................108 Konstruktory .........................................................................................................................113 Konstruktory z parametrami .................................................................................................114 Dodajemy konstruktor do klasy Vehicle ................................................................................115 Operator new ......................................................................................................................116 Odzyskiwanie pami(cid:218)ci i metoda finalize() .............................................................................116 Metoda finalize() ..................................................................................................................117 S(cid:239)owo kluczowe this .............................................................................................................119 Test sprawdzaj(cid:200)cy ................................................................................................................121 5. Wi(cid:218)cej typów danych i operatorów ............................................................................ 123 Tablice .................................................................................................................................123 Tablice jednowymiarowe .............................................................................................124 Tablice wielowymiarowe ......................................................................................................128 Tablice dwuwymiarowe ...............................................................................................128 Tablice nieregularne .............................................................................................................129 Tablice o trzech i wi(cid:218)cej wymiarach .............................................................................130 Inicjalizacja tablic wielowymiarowych ..........................................................................130 Alternatywna sk(cid:239)adnia deklaracji tablic .................................................................................131 Przypisywanie referencji tablic ..............................................................................................131 Wykorzystanie sk(cid:239)adowej length ...........................................................................................132 Styl for-each p(cid:218)tli for ............................................................................................................137 Iteracje w tablicach wielowymiarowych .......................................................................139 Zastosowania rozszerzonej p(cid:218)tli for ..............................................................................140 (cid:146)a(cid:241)cuchy znaków ................................................................................................................141 Tworzenie (cid:239)a(cid:241)cuchów ..................................................................................................141 Operacje na (cid:239)a(cid:241)cuchach ..............................................................................................142 Tablice (cid:239)a(cid:241)cuchów .......................................................................................................144 (cid:146)a(cid:241)cuchy s(cid:200) niezmienne ..............................................................................................144 (cid:146)a(cid:241)cuchy steruj(cid:200)ce instrukcj(cid:200) switch ............................................................................145 Wykorzystanie argumentów wywo(cid:239)ania programu ................................................................146 Operatory bitowe .................................................................................................................147 Operatory bitowe AND, OR, XOR i NOT .....................................................................147 Operatory przesuni(cid:218)cia ................................................................................................151 Skrótowe bitowe operatory przypisania ........................................................................153 Operator ? ...........................................................................................................................155 Test sprawdzaj(cid:200)cy ................................................................................................................157 6. Wi(cid:218)cej o metodach i klasach ...................................................................................... 159 Kontrola dost(cid:218)pu do sk(cid:239)adowych klasy .................................................................................159 Modyfikatory dost(cid:218)pu w Javie ......................................................................................160 Przekazywanie obiektów do metod ......................................................................................164 Sposób przekazywania argumentów .............................................................................165 Poleć książkęKup książkę 6 Java. Przewodnik dla pocz(cid:200)tkuj(cid:200)cych Zwracanie obiektów ............................................................................................................ 167 Przeci(cid:200)(cid:285)anie metod ............................................................................................................. 169 Przeci(cid:200)(cid:285)anie konstruktorów ................................................................................................. 173 Rekurencja .......................................................................................................................... 177 S(cid:239)owo kluczowe static .......................................................................................................... 178 Bloki static ................................................................................................................... 181 Klasy zagnie(cid:285)d(cid:285)one i klasy wewn(cid:218)trzne ................................................................................ 184 Zmienne liczby argumentów ................................................................................................ 186 Metody o zmiennej liczbie argumentów ...................................................................... 187 Przeci(cid:200)(cid:285)anie metod o zmiennej liczbie argumentów .................................................... 189 Zmienna liczba argumentów i niejednoznaczno(cid:258)(cid:202) ....................................................... 190 Test sprawdzaj(cid:200)cy ................................................................................................................ 191 7. Dziedziczenie .............................................................................................................. 193 Podstawy dziedziczenia ....................................................................................................... 193 Dost(cid:218)p do sk(cid:239)adowych a dziedziczenie ................................................................................ 196 Konstruktory i dziedziczenie ................................................................................................ 198 U(cid:285)ycie s(cid:239)owa kluczowego super do wywo(cid:239)ania konstruktora klasy bazowej .......................... 199 U(cid:285)ycie s(cid:239)owa kluczowego super do dost(cid:218)pu do sk(cid:239)adowych klasy bazowej .......................... 203 Wielopoziomowe hierarchie klas ......................................................................................... 206 Kiedy wywo(cid:239)ywane s(cid:200) konstruktory? .................................................................................... 208 Referencje klasy bazowej i obiekty klasy pochodnej ............................................................. 209 Przes(cid:239)anianie metod ............................................................................................................ 213 Przes(cid:239)anianie metod i polimorfizm ....................................................................................... 215 Po co przes(cid:239)ania(cid:202) metody? ................................................................................................... 216 Zastosowanie przes(cid:239)aniania metod w klasie TwoDShape .............................................. 217 Klasy abstrakcyjne ................................................................................................................ 220 S(cid:239)owo kluczowe final ........................................................................................................... 223 final zapobiega przes(cid:239)anianiu ....................................................................................... 223 final zapobiega dziedziczeniu ...................................................................................... 223 U(cid:285)ycie final dla zmiennych sk(cid:239)adowych ....................................................................... 224 Klasa Object ........................................................................................................................ 225 Test sprawdzaj(cid:200)cy ................................................................................................................ 226 8. Pakiety i interfejsy ....................................................................................................... 227 Pakiety ................................................................................................................................ 227 Definiowanie pakietu .................................................................................................. 228 Wyszukiwanie pakietów i zmienna CLASSPATH .......................................................... 228 Prosty przyk(cid:239)ad pakietu ................................................................................................ 229 Pakiety i dost(cid:218)p do sk(cid:239)adowych ........................................................................................... 230 Przyk(cid:239)ad dost(cid:218)pu do pakietu ........................................................................................ 230 Sk(cid:239)adowe chronione ............................................................................................................ 232 Import pakietów .................................................................................................................. 234 Biblioteka klas Java u(cid:285)ywa pakietów .................................................................................... 235 Interfejsy .............................................................................................................................. 235 Implementacje interfejsów ................................................................................................... 237 Referencje interfejsu ............................................................................................................ 239 Zmienne w interfejsach ....................................................................................................... 245 Interfejsy mog(cid:200) dziedziczy(cid:202) ................................................................................................. 246 Domy(cid:258)lne metody interfejsów .............................................................................................. 246 Podstawowe informacje o metodach domy(cid:258)lnych ........................................................ 247 Praktyczny przyk(cid:239)ad metody domy(cid:258)lnej ....................................................................... 249 Problemy wielokrotnego dziedziczenia ........................................................................ 250 Poleć książkęKup książkę Spis tre(cid:258)ci 7 Stosowanie metod statycznych w interfejsach .......................................................................251 Ostatnie uwagi o pakietach i interfejsach ......................................................................252 Test sprawdzaj(cid:200)cy ................................................................................................................252 9. Obs(cid:239)uga wyj(cid:200)tków ...................................................................................................... 253 Hierarchia wyj(cid:200)tków ............................................................................................................254 Podstawy obs(cid:239)ugi wyj(cid:200)tków ..................................................................................................254 S(cid:239)owa kluczowe try i catch ...........................................................................................254 Prosty przyk(cid:239)ad wyj(cid:200)tku ................................................................................................255 Konsekwencje nieprzechwycenia wyj(cid:200)tku ............................................................................257 Wyj(cid:200)tki umo(cid:285)liwiaj(cid:200) obs(cid:239)ug(cid:218) b(cid:239)(cid:218)dów ............................................................................258 U(cid:285)ycie wielu klauzul catch ...........................................................................................259 Przechwytywanie wyj(cid:200)tków klas pochodnych .......................................................................259 Zagnie(cid:285)d(cid:285)anie bloków try ....................................................................................................261 Generowanie wyj(cid:200)tku ..........................................................................................................262 Powtórne generowanie wyj(cid:200)tku ...................................................................................262 Klasa Throwable ...................................................................................................................263 Klauzula finally .....................................................................................................................265 U(cid:285)ycie klauzuli throws .........................................................................................................266 Trzy ostatnio dodane mo(cid:285)liwo(cid:258)ci wyj(cid:200)tków ..........................................................................267 Wyj(cid:200)tki wbudowane w Jav(cid:218) .................................................................................................268 Tworzenie klas pochodnych wyj(cid:200)tków .................................................................................270 Test sprawdzaj(cid:200)cy ................................................................................................................274 10. Obs(cid:239)uga wej(cid:258)cia i wyj(cid:258)cia ........................................................................................... 275 Strumienie wej(cid:258)cia i wyj(cid:258)cia .................................................................................................276 Strumienie bajtowe i strumienie znakowe ............................................................................276 Klasy strumieni bajtowych ....................................................................................................276 Klasy strumieni znakowych ...................................................................................................276 Strumienie predefiniowane ..................................................................................................277 U(cid:285)ywanie strumieni bajtowych .............................................................................................278 Odczyt wej(cid:258)cia konsoli .................................................................................................278 Zapis do wyj(cid:258)cia konsoli ...............................................................................................280 Odczyt i zapis plików za pomoc(cid:200) strumieni bajtowych .........................................................281 Odczyt z pliku ..............................................................................................................281 Zapis w pliku ...............................................................................................................284 Automatyczne zamykanie pliku ............................................................................................285 Odczyt i zapis danych binarnych ..........................................................................................288 Pliki o dost(cid:218)pie swobodnym .................................................................................................291 Strumienie znakowe .............................................................................................................293 Odczyt konsoli za pomoc(cid:200) strumieni znakowych .........................................................293 Obs(cid:239)uga wyj(cid:258)cia konsoli za pomoc(cid:200) strumieni znakowych ............................................297 Obs(cid:239)uga plików za pomoc(cid:200) strumieni znakowych .................................................................298 Klasa FileWriter ............................................................................................................298 Klasa FileReader ...........................................................................................................299 Zastosowanie klas opakowuj(cid:200)cych do konwersji (cid:239)a(cid:241)cuchów numerycznych .........................299 Test sprawdzaj(cid:200)cy ................................................................................................................307 11. Programowanie wielow(cid:200)tkowe ................................................................................... 309 Podstawy wielow(cid:200)tkowo(cid:258)ci ..................................................................................................309 Klasa Thread i interfejs Runnable ..........................................................................................310 Tworzenie w(cid:200)tku ..................................................................................................................310 Drobne usprawnienia ...................................................................................................313 Tworzenie wielu w(cid:200)tków ......................................................................................................317 Jak ustali(cid:202), kiedy w(cid:200)tek zako(cid:241)czy(cid:239) dzia(cid:239)anie? ........................................................................319 Poleć książkęKup książkę 8 Java. Przewodnik dla pocz(cid:200)tkuj(cid:200)cych Priorytety w(cid:200)tków ................................................................................................................ 321 Synchronizacja .................................................................................................................... 324 Synchronizacja metod ......................................................................................................... 324 Synchronizacja instrukcji ...................................................................................................... 327 Komunikacja mi(cid:218)dzyw(cid:200)tkowa .............................................................................................. 328 Przyk(cid:239)ad u(cid:285)ycia metod wait() i notify() .......................................................................... 329 Wstrzymywanie, wznawianie i ko(cid:241)czenie dzia(cid:239)ania w(cid:200)tków ................................................ 333 Test sprawdzaj(cid:200)cy ................................................................................................................ 338 12. Typy wyliczeniowe, automatyczne opakowywanie, import sk(cid:239)adowych statycznych i adnotacje ............................................................... 339 Wyliczenia ........................................................................................................................... 340 Podstawy wylicze(cid:241) ...................................................................................................... 340 Wyliczenia s(cid:200) klasami .......................................................................................................... 342 Metody values() i valueOf() .................................................................................................. 342 Konstruktory, metody, zmienne instancji a wyliczenia .......................................................... 343 Dwa wa(cid:285)ne ograniczenia ............................................................................................. 345 Typy wyliczeniowe dziedzicz(cid:200) po klasie Enum ..................................................................... 345 Automatyczne opakowywanie ............................................................................................. 351 Typy opakowuj(cid:200)ce ............................................................................................................... 351 Podstawy automatycznego opakowywania ........................................................................... 352 Automatyczne opakowywanie i metody ............................................................................... 353 Automatyczne opakowywanie i wyra(cid:285)enia ........................................................................... 354 Przestroga .................................................................................................................... 356 Import sk(cid:239)adowych statycznych ............................................................................................ 356 Adnotacje (metadane) .......................................................................................................... 358 Test sprawdzaj(cid:200)cy ................................................................................................................ 361 13. Typy sparametryzowane ............................................................................................. 363 Podstawy typów sparametryzowanych ................................................................................. 364 Prosty przyk(cid:239)ad typów sparametryzowanych ........................................................................ 364 Parametryzacja dotyczy tylko typów obiektowych ........................................................ 367 Typy sparametryzowane ró(cid:285)ni(cid:200) si(cid:218) dla ró(cid:285)nych argumentów ....................................... 367 Klasa sparametryzowana o dwóch parametrach ........................................................... 368 Ogólna posta(cid:202) klasy sparametryzowanej ...................................................................... 369 Ograniczanie typów ............................................................................................................. 369 Stosowanie argumentów wieloznacznych ............................................................................ 372 Ograniczanie argumentów wieloznacznych ......................................................................... 374 Metody sparametryzowane .................................................................................................. 376 Konstruktory sparametryzowane .......................................................................................... 378 Interfejsy sparametryzowane ................................................................................................ 378 Typy surowe i tradycyjny kod .............................................................................................. 384 Wnioskowanie typów i operator diamentowy ...................................................................... 387 Wymazywanie ..................................................................................................................... 388 B(cid:239)(cid:218)dy niejednoznaczno(cid:258)ci .................................................................................................... 388 Ograniczenia zwi(cid:200)zane z typami sparametryzowanymi ........................................................ 389 Zakaz tworzenia instancji parametru typu .................................................................... 389 Ograniczenia dla sk(cid:239)adowych statycznych .................................................................... 389 Ograniczenia tablic sparametryzowanych .................................................................... 390 Ograniczenia zwi(cid:200)zane z wyj(cid:200)tkami ............................................................................ 391 Dalsze studiowanie typów sparametryzowanych .................................................................. 391 Test sprawdzaj(cid:200)cy ................................................................................................................ 391 Poleć książkęKup książkę Spis tre(cid:258)ci 9 14. Wyra(cid:285)enia lambda i referencje metod ....................................................................... 393 Przedstawienie wyra(cid:285)e(cid:241) lambda ...........................................................................................394 Podstawowe informacje o wyra(cid:285)eniach lambda ...........................................................394 Interfejsy funkcyjne ......................................................................................................395 Wyra(cid:285)enia lambda w dzia(cid:239)aniu ....................................................................................397 Blokowe wyra(cid:285)enia lambda ..........................................................................................400 Sparametryzowane interfejsy funkcyjne ................................................................................401 Wyra(cid:285)enia lambda i przechwytywanie zmiennych ................................................................407 Zg(cid:239)aszanie wyj(cid:200)tków w wyra(cid:285)eniach lambda ........................................................................408 Referencje metod .................................................................................................................409 Referencje metod statycznych ......................................................................................409 Referencje metod instancyjnych ...................................................................................411 Referencje konstruktorów .....................................................................................................414 Predefiniowane interfejsy funkcyjne .....................................................................................417 Test sprawdzaj(cid:200)cy ................................................................................................................418 15. Aplety, zdarzenia i pozosta(cid:239)e s(cid:239)owa kluczowe ........................................................... 421 Podstawy apletów ................................................................................................................422 Organizacja apletów i podstawowe elementy .......................................................................424 Architektura apletu ...............................................................................................................424 Kompletny szkielet apletu .....................................................................................................425 Rozpocz(cid:218)cie i zako(cid:241)czenie dzia(cid:239)ania apletu .........................................................................426 (cid:191)(cid:200)danie odrysowania ...........................................................................................................426 Metoda update() ..........................................................................................................427 Wykorzystanie okna statusu .................................................................................................430 Parametry apletów ...............................................................................................................431 Klasa Applet .........................................................................................................................432 Obs(cid:239)uga zdarze(cid:241) ..................................................................................................................433 Model delegacji zdarze(cid:241) ......................................................................................................433 Zdarzenia .............................................................................................................................435 (cid:189)ród(cid:239)a zdarze(cid:241) .............................................................................................................435 Obiekty nas(cid:239)uchuj(cid:200)ce ...................................................................................................435 Klasy zdarze(cid:241) ...............................................................................................................435 Interfejsy obiektów nas(cid:239)uchuj(cid:200)cych ..............................................................................436 Wykorzystanie modelu delegacji zdarze(cid:241) .............................................................................436 Obs(cid:239)uga zdarze(cid:241) myszy ................................................................................................437 Prosty aplet obs(cid:239)uguj(cid:200)cy zdarzenia myszy .....................................................................438 Inne s(cid:239)owa kluczowe Javy .....................................................................................................440 Modyfikatory transient i volatile ....................................................................................440 Operator instanceof .....................................................................................................441 S(cid:239)owo kluczowe strictfp ................................................................................................441 S(cid:239)owo kluczowe assert ..................................................................................................441 Metody natywne ..........................................................................................................442 Test sprawdzaj(cid:200)cy ................................................................................................................443 16. Wprowadzenie do Swing ............................................................................................ 445 Pochodzenie i filozofia Swing ...............................................................................................446 Komponenty i kontenery ......................................................................................................447 Komponenty ................................................................................................................448 Kontenery ....................................................................................................................448 Panele kontenerów szczytowych ..................................................................................448 Mened(cid:285)ery uk(cid:239)adu ...............................................................................................................449 Pierwszy program wykorzystuj(cid:200)cy Swing ...............................................................................450 Pierwszy program Swing wiersz po wierszu ..................................................................451 Poleć książkęKup książkę 10 Java. Przewodnik dla pocz(cid:200)tkuj(cid:200)cych Komponent JButton ............................................................................................................. 454 Komponent JTextField ......................................................................................................... 457 Komponent JCheckBox ........................................................................................................ 459 Komponent JList .................................................................................................................. 462 Wykorzystanie anonimowych klas wewn(cid:218)trznych lub wyra(cid:285)e(cid:241) lambda do obs(cid:239)ugi zdarze(cid:241) ........................................................................... 470 Aplety Swing ........................................................................................................................ 471 Test sprawdzaj(cid:200)cy ................................................................................................................ 473 17. Wprowadzenie do JavaFX ........................................................................................... 475 Podstawowe poj(cid:218)cia JavaFX ................................................................................................. 476 Pakiety JavaFX ............................................................................................................. 476 Klasy Stage oraz Scene ................................................................................................. 476 W(cid:218)z(cid:239)y i graf sceny ........................................................................................................ 477 Uk(cid:239)ady ........................................................................................................................ 477 Klasa Application oraz metody cyklu (cid:285)ycia ................................................................... 477 Uruchamianie aplikacji JavaFX ..................................................................................... 478 Szkielet aplikacji JavaFX ....................................................................................................... 478 Kompilacja i uruchamianie programów JavaFX ..................................................................... 481 W(cid:200)tek aplikacji .................................................................................................................... 481 Prosta kontrolka JavaFX: Label ............................................................................................. 481 Stosowanie przycisków i zdarze(cid:241) ......................................................................................... 483 Podstawy obs(cid:239)ugi zdarze(cid:241) ............................................................................................ 484 Przedstawienie kontrolki Button .................................................................................. 484 Przedstawienie obs(cid:239)ugi zdarze(cid:241) i stosowania przycisków .............................................. 485 Trzy kolejne kontrolki JavaFX ............................................................................................... 487 Pola wyboru ................................................................................................................ 487 Listy ............................................................................................................................. 491 Pola tekstowe .............................................................................................................. 495 Przedstawienie efektów i transformacji ................................................................................ 498 Efekty .......................................................................................................................... 498 Transformacje .............................................................................................................. 500 Prezentacja zastosowania efektów i transformacji ......................................................... 501 Co dalej? ............................................................................................................................. 503 Test sprawdzaj(cid:200)cy ................................................................................................................ 504 Rozwi(cid:200)zania testów sprawdzaj(cid:200)cych .......................................................................... 505 Rozdzia(cid:239) 1. Podstawy Javy .................................................................................................... 505 Rozdzia(cid:239) 2. Typy danych i operatory .................................................................................... 507 Rozdzia(cid:239) 3. Instrukcje steruj(cid:200)ce ............................................................................................ 508 Rozdzia(cid:239) 4. Wprowadzenie do klas, obiektów i metod ......................................................... 510 Rozdzia(cid:239) 5. Wi(cid:218)cej typów danych i operatorów ................................................................... 511 Rozdzia(cid:239) 6. Wi(cid:218)cej o metodach i klasach ............................................................................. 514 Rozdzia(cid:239) 7. Dziedziczenie .................................................................................................... 518 Rozdzia(cid:239) 8. Pakiety i interfejsy .............................................................................................. 519 Rozdzia(cid:239) 9. Obs(cid:239)uga wyj(cid:200)tków ............................................................................................. 521 Rozdzia(cid:239) 10. Obs(cid:239)uga wej(cid:258)cia i wyj(cid:258)cia ................................................................................. 523 Rozdzia(cid:239) 11. Programowanie wielow(cid:200)tkowe ........................................................................ 526 Rozdzia(cid:239) 12. Typy wyliczeniowe, automatyczne opakowywanie, A import sk(cid:239)adowych statycznych i adnotacje ....................................................................... 528 Rozdzia(cid:239) 13. Typy sparametryzowane .................................................................................. 531 Rozdzia(cid:239) 14. Wyra(cid:285)enia lambda i referencje metod ............................................................. 534 Rozdzia(cid:239) 15. Aplety, zdarzenia i pozosta(cid:239)e s(cid:239)owa kluczowe .................................................. 537 Rozdzia(cid:239) 16. Wprowadzenie do Swing ................................................................................. 541 Rozdzia(cid:239) 17. Wprowadzenie do JavaFX ................................................................................ 546 Poleć książkęKup książkę Spis tre(cid:258)ci 11 B Komentarze dokumentacyjne ..................................................................................... 551 Znaczniki javadoc ................................................................................................................551 @author ......................................................................................................................552 {@code} .....................................................................................................................552 @deprecated ...............................................................................................................552 {@docRoot} ................................................................................................................553 @exception .................................................................................................................553 {@inheritDoc} ............................................................................................................553 {@link} .......................................................................................................................553 {@linkplain} ................................................................................................................553 {@literal} ....................................................................................................................553 @param ......................................................................................................................553 @return .......................................................................................................................553 @see ...........................................................................................................................554 @serial ........................................................................................................................554 @serialData .................................................................................................................554 @serialField .................................................................................................................554 @since .........................................................................................................................554 @throws ......................................................................................................................554 {@value} ....................................................................................................................554 @version .....................................................................................................................555 Ogólna posta(cid:202) komentarza dokumentacyjnego ....................................................................555 Wynik dzia(cid:239)ania programu javadoc .......................................................................................555 Przyk(cid:239)ad u(cid:285)ycia komentarzy dokumentacyjnych ...................................................................555 Skorowidz ................................................................................................................... 557 Poleć książkęKup książkę 12 Java. Przewodnik dla pocz(cid:200)tkuj(cid:200)cych Poleć książkęKup książkę ROZDZIA(cid:146)8 Pakiety i interfejsy W tym rozdziale poznasz: (cid:132) stosowanie pakietów, (cid:132) wpływ pakietów na poziom dostępu, (cid:132) modyfikator dostępu protected, (cid:132) importowanie pakietów, (cid:132) standardowe pakiety Javy, (cid:132) podstawy interfejsów, (cid:132) implementacje interfejsów, (cid:132) referencje interfejsów, (cid:132) zmienne interfejsów, (cid:132) dziedziczenie interfejsów, (cid:132) domyślne i statyczne metody interfejsów. Ten rozdział poświęciłem na omówienie dwóch najbardziej innowacyjnych elementów Javy: pakie- tów i interfejsów. Pakiety są grupami powiązanych klas. Pakiety pomagają organizować kod i tworzą kolejną warstwę hermetyzacji. Interfejs definiuje zbiór metod, które zostaną zaimplementowane przez klasę. A zatem interfejs zapewnia możliwość określenia, co klasa będzie robić, lecz nie tego, jak to zrobi. Znajomość pakietów i interfejsów pozwoli Ci lepiej kontrolować organizację kodu. Pakiety W programowaniu pomocna jest możliwość grupowania powiązanych części programu. W Javie służą do tego pakiety. Pakiet spełnia dwa zadania. Po pierwsze, zapewnia mechanizm umożliwiający zorga- nizowanie powiązanych elementów programu. Dostęp do klas zdefiniowanych wewnątrz pakietu odbywa się z użyciem nazwy pakietu. W ten sposób pakiet dostarcza nazwy dla kolekcji klas. Po drugie, pakiet jest częścią mechanizmu kontroli dostępu stosowanego w Javie. Klasy zdefiniowane w pakiecie mogą być prywatne dla tego pakietu i tym samym niedostępne na zewnątrz pakietu. W ten sposób pakiet umożliwia hermetyzację klas. Przyjrzyjmy się bliżej każdej z wymienionych możliwości. Tworząc klasę, przydzielamy jej nazwę należącą do przestrzeni nazw. Przestrzeń nazw definiuje region deklaracji. W Javie żadne dwie klasy nie mogą używać tej samej nazwy w tej samej przestrzeni nazw. Innymi słowy, nazwa klasy musi być unikatowa w danej przestrzeni nazw. Wszystkie dotych- czasowe przykłady używały domyślnej (globalnej) przestrzeni nazw. Rozwiązanie takie sprawdza się w przypadku prostych programów, ale staje się problematyczne, gdy złożoność programu wzrasta Poleć książkęKup książkę 228 Java. Przewodnik dla pocz(cid:200)tkuj(cid:200)cych i w domyślnej przestrzeni nazw staje się tłoczno. W rozbudowanych programach nadanie klasie uni- katowej nazwy może wtedy być problemem. Co gorsza, musisz również unikać kolizji nazw z kodem tworzonym przez innych programistów w ramach tego samego projektu, a także z bibliotekami Javy. Rozwiązanie tego problemu jest możliwe dzięki użyciu pakietu, gdyż umożliwia on podział przestrzeni nazw. Jeśli zdefiniujesz klasę w pakiecie, to do jej nazwy dołączasz nazwę pakietu i w ten sposób unikasz kolizji z innymi klasami o tej samej nazwie, ale należącymi do innych pakietów. Ponieważ pakiety zawierają zwykle powiązane klasy, Java definiuje specjalne prawa dostępu do kodu umieszczonego w pakiecie. W pakiecie możesz zdefiniować kod, który jest dostępny dla pozo- stałego kodu w tym samym pakiecie, ale nie na zewnątrz pakietu. Pozwala to tworzyć samodzielne grupy powiązanych klas, których działanie pozostaje prywatne. Definiowanie pakietu Wszystkie klasy w Javie należą do jakiegoś pakietu. Jeśli nie użyjesz jawnie instrukcji package, to klasa należy do domyślnego (globalnego) pakietu. Pakiet domyślny nie ma nazwy i wobec tego jego użycie jest transparentne. Z tego powodu jak dotąd nie musiałeś się przejmować nazwami pakietów. Pakiet domyślny sprawdza się w przypadku prostych programów, ale nie w przypadku prawdziwych apli- kacji. Tworząc te ostatnie, będziesz zwykle definiować jeden lub więcej pakietów. Aby stworzyć pakiet, musisz umieścić instrukcję package na początku pliku źródłowego. Klasy definiowane w tym pliku będą wtedy należeć do tego pakietu. Ponieważ pakiet definiuje przestrzeń nazw, nazwy klas zdefiniowanych w tym pliku należą do przestrzeni nazw pakietu. A oto ogólna postać instrukcji package: package nazwa-pakietu; Poniższa instrukcja tworzy pakiet o nazwie mypack: package mypack; Java używa systemu plików do zarządzania pakietami, umieszczając każdy pakiet we własnym katalogu. Na przykład pliki .class dla wszystkich klas zdefiniowanych w pakiecie mypack muszą zostać umieszczone w katalogu o nazwie mypack. Podobnie jak dla innych elementów języka Java, również w przypadku nazw pakietów rozróż- niane są małe i duże litery. Musisz zatem pamiętać, aby nazwa katalogu, w którym umieszczasz pliki klas, była dokładnie taka sama jak nazwa pakietu. Jeśli podczas uruchamiania przykładów zamiesz- czonych w tym rozdziale napotkasz problemy, sprawdź dokładnie nazwy katalogów i pakietów. Z tego powodu programiści zwykle używają jedynie małych liter w nazwach pakietów. Tę samą instrukcję package możesz umieścić w więcej niż jednym pliku. Instrukcja package określa po prostu, do jakiego pakietu należą klasy zdefiniowane w pliku. Nie wyklucza zatem możliwości, aby inne klasy w innych plikach należały do tego samego pakietu. I rzeczywiście, w praktyce większość pakietów zwykle składa się z wielu plików. Istnieje możliwość tworzenia hierarchii pakietów. W tym celu nazwy pakietów kolejnych poziomów oddzielamy od siebie kropką. Ogólna postać instrukcji package dotyczącej wielopoziomowej hierarchii pakietów jest następująca: package pakiet1.pakiet2.pakiet3...pakietN; W takim przypadku musisz zadbać o stworzenie odpowiedniej struktury katalogów. Na przykład klasy pakietu package alpha.beta.gamma; muszą zostać umieszczone w katalogu .../alpha/beta/gamma, gdzie ... oznacza ścieżkę dostępu do tego katalogu. Wyszukiwanie pakietów i zmienna CLASSPATH Jak już wyjaśniłem, pakietom odpowiadają katalogi. Powstaje zatem pytanie: skąd Java „wie”, gdzie szukać utworzonych przez Ciebie pakietów? Odpowiedź na to pytanie składa się z trzech części. Po pierwsze, Java używa jako punktu wyjścia bieżącego katalogu. Zatem jeśli umieściłeś pakiet w pod- Poleć książkęKup książkę Rozdzia(cid:239) 8. Pakiety i interfejsy 229 katalogu bieżącego katalogu, zostanie on odnaleziony. Po drugie, możesz określić ścieżkę dostępu do katalogu za pomocą zmiennej środowiskowej CLASSPATH. Po trzecie, możesz użyć w tym samym celu opcji -classpath, wywołując programy javac i java. Na przykład zakładając poniższą specyfikację pakietu: package mypack; aby pakiet mypack został odnaleziony, musi zostać spełniony jeden z następujących warunków: pro- gram musi być uruchamiany z katalogu znajdującego się bezpośrednio nad katalogiem mypack, zmienna CLASSPATH musi zawierać ścieżkę dostępu do katalogu mypack lub podczas uruchamiania interpretera java musisz określić ścieżkę dostępu do katalogu mypack, używając opcji -classpath. Najprostszy sposób uruchomienia przykładów zamieszczonych w tej ks
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Java. Przewodnik dla początkujących. Wydanie VI
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: