Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00384 005426 19041500 na godz. na dobę w sumie
Java. Kompendium programisty. Wydanie XI - książka
Java. Kompendium programisty. Wydanie XI - książka
Autor: Liczba stron: 1048
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-5882-9 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> java - programowanie
Porównaj ceny (książka, ebook (-30%), audiobook).

Mimo upływu lat Java wciąż pozostaje jednym z najważniejszych języków programowania, konsekwentnie wybieranym przez profesjonalnych deweloperów. Jest równocześnie nowoczesna i dojrzała. Twórcy Javy od początku jej istnienia stawiali na elastyczność i stale dostosowywali ten język do zmieniających się warunków pracy programistów. Od pierwszego wydania Java zapewnia narzędzia do programowania rozwiązań internetowych, jest więc naturalnym wyborem programistów tworzących aplikacje internetowe. Jej możliwości jednak są o wiele większe - i rosną z każdą kolejną wersją. Konieczne jest więc sukcesywne zapoznawanie się z nowościami i ze zmianami wprowadzanymi w poszczególnych wydaniach Java SE.

Ta książka jest jedenastym wydaniem wyczerpującego kompendium programisty Javy, w pełni zaktualizowanym, uzupełnionym o nowości wprowadzone w Java SE 11. Opisuje język kompleksowo: jego składnię, słowa kluczowe oraz najistotniejsze zasady programowania. Zawiera także informacje o najważniejszych składnikach biblioteki Javy, takich jak klasy wejścia-wyjścia, framework Collections, biblioteka strumieni oraz narzędzia programowania współbieżnego. Oczywiście szczegółowo został tu opisany inny niezwykle ważny element - system modułów Javy. Przedstawiono też interaktywne narzędzie programistyczne JShell. Podręcznik jest przejrzysty, napisany jasnym i zrozumiałym językiem, co zdecydowanie ułatwia naukę. Co ważne, poszczególne zagadnienia zilustrowano licznymi przykładowymi fragmentami kodu źródłowego. Z tak przygotowanego materiału skorzystają wszyscy programiści Javy, zarówno początkujący, jak i profesjonalni deweloperzy.

W tej książce między innymi:

Nie znajdziesz bardziej wyczerpującego omówienia Javy!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Java: The Complete Reference, Eleventh Edition Tłumaczenie: Piotr Rajca, na podstawie „Java. Kompendium programisty” w tłumaczeniu Rafała Jońcy i Mikołaja Szczepaniaka ISBN: 978-83-283-5882-9 Original edition copyright © 2019 by McGraw-Hill Education (Publisher). All rights reserved. Polish edition copyright © 2020 by Helion SA All rights reserved. Oracle and Java are registered trademarks of Oracle Corporation and/or its affiliates. All other trademarks are the property of their respective owners, and McGraw-Hill Education makes no claim of ownership by the mention of products that contain these marks. 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 Helion SA 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 Helion SA nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Helion SA 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/javk11 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ści O autorze ............................................................................................................................. 23 O redaktorze merytorycznym ............................................................................................. 24 Przedmowa .......................................................................................................................... 25 CZĘŚĆ I Język Java 1 Historia i ewolucja języka Java .................................................................................... 31 Rodowód Javy ...................................................................................................................... 31 Narodziny nowoczesnego języka — C .......................................................................... 31 Język C++ — następny krok ....................................................................................... 33 Podwaliny języka Java .................................................................................................. 33 Powstanie języka Java ........................................................................................................... 33 Powiązanie z językiem C# ........................................................................................... 35 Jak Java wywarła wpływ na internet ...................................................................................... 35 Aplety Javy ................................................................................................................... 35 Bezpieczeństwo ........................................................................................................... 36 Przenośność ................................................................................................................. 36 Magia języka Java — kod bajtowy ........................................................................................ 37 Wychodząc poza aplety ....................................................................................................... 38 Szybszy harmonogram udostępniania ................................................................................... 38 Serwlety — Java po stronie serwera ...................................................................................... 39 Hasła języka Java .................................................................................................................. 39 Prostota ........................................................................................................................ 40 Obiektowość ................................................................................................................ 40 Niezawodność ............................................................................................................. 40 Wielowątkowość .......................................................................................................... 40 Neutralność architektury .............................................................................................. 41 Interpretowalność i wysoka wydajność ......................................................................... 41 Rozproszenie ............................................................................................................... 41 Dynamika .................................................................................................................... 41 Ewolucja Javy ....................................................................................................................... 41 Kultura innowacji ................................................................................................................. 46 Poleć książkęKup książkę 4 2 3 Java. Kompendium programisty Podstawy j(cid:218)zyka Java ................................................................................................... 47 Programowanie obiektowe ................................................................................................... 47 Dwa paradygmaty ........................................................................................................ 47 Abstrakcja ..................................................................................................................... 48 Trzy zasady programowania obiektowego ..................................................................... 48 Pierwszy przyk(cid:239)adowy program ............................................................................................. 52 Wpisanie kodu programu ............................................................................................. 52 Kompilacja programów ................................................................................................. 53 Bli(cid:285)sze spojrzenie na pierwszy przyk(cid:239)adowy program .................................................... 53 Drugi prosty program ............................................................................................................ 55 Dwie instrukcje steruj(cid:200)ce ...................................................................................................... 56 Instrukcja if ................................................................................................................... 57 P(cid:218)tla for ........................................................................................................................ 58 Bloki kodu ............................................................................................................................ 59 Kwestie sk(cid:239)adniowe .............................................................................................................. 60 Znaki bia(cid:239)e ................................................................................................................... 60 Identyfikatory ............................................................................................................... 60 Sta(cid:239)e ............................................................................................................................. 60 Komentarze .................................................................................................................. 61 Separatory .................................................................................................................... 61 S(cid:239)owa kluczowe j(cid:218)zyka Java .......................................................................................... 61 Biblioteki klas Javy ................................................................................................................ 62 Typy danych, zmienne i tablice ................................................................................... 63 Java to j(cid:218)zyk ze (cid:258)cis(cid:239)(cid:200) kontrol(cid:200) typów .................................................................................... 63 Typy proste .......................................................................................................................... 63 Typy ca(cid:239)kowitoliczbowe ....................................................................................................... 64 Typ byte ....................................................................................................................... 64 Typ short ...................................................................................................................... 65 Typ int .......................................................................................................................... 65 Typ long ....................................................................................................................... 65 Typy zmiennoprzecinkowe ................................................................................................... 65 Typ float ....................................................................................................................... 66 Typ double ................................................................................................................... 66 Typ znakowy ........................................................................................................................ 66 Typ logiczny ......................................................................................................................... 68 Bli(cid:285)sze spojrzenie na sta(cid:239)e ..................................................................................................... 68 Sta(cid:239)e ca(cid:239)kowitoliczbowe ............................................................................................... 68 Sta(cid:239)e zmiennoprzecinkowe ........................................................................................... 69 Sta(cid:239)e logiczne ............................................................................................................... 70 Sta(cid:239)e znakowe .............................................................................................................. 70 Sta(cid:239)e (cid:239)a(cid:241)cuchowe ......................................................................................................... 71 Zmienne .............................................................................................................................. 71 Deklaracja zmiennej ..................................................................................................... 71 Inicjalizacja dynamiczna ............................................................................................... 72 Zasi(cid:218)g i czas (cid:285)ycia zmiennych ....................................................................................... 72 Konwersja typów i rzutowanie .............................................................................................. 74 Automatyczna konwersja typów ................................................................................... 74 Rzutowanie niezgodnych typów ................................................................................... 75 Automatyczne rozszerzanie typów w wyra(cid:285)eniach ................................................................ 76 Zasady rozszerzania typu .............................................................................................. 76 Poleć książkęKup książkę Spis tre(cid:258)ci 5 Tablice ................................................................................................................................. 77 Tablice jednowymiarowe ............................................................................................. 77 Tablice wielowymiarowe .............................................................................................. 79 Alternatywna sk(cid:239)adnia deklaracji tablicy ........................................................................ 82 Wnioskowanie typów zmiennych lokalnych ......................................................................... 83 Ograniczenia var .......................................................................................................... 85 Kilka s(cid:239)ów o (cid:239)a(cid:241)cuchach ....................................................................................................... 85 4 Operatory ..................................................................................................................... 87 Operatory arytmetyczne ....................................................................................................... 87 Podstawowe operatory arytmetyczne ........................................................................... 88 Operator reszty z dzielenia ........................................................................................... 88 Operatory arytmetyczne z przypisaniem ....................................................................... 89 Inkrementacja i dekrementacja .................................................................................... 90 Operatory bitowe ................................................................................................................. 91 Logiczne operatory bitowe ........................................................................................... 92 Przesuni(cid:218)cie w lewo ..................................................................................................... 94 Przesuni(cid:218)cie w prawo .................................................................................................. 95 Przesuni(cid:218)cie w prawo bez znaku .................................................................................. 96 Operatory bitowe z przypisaniem ................................................................................. 97 Operatory relacji .................................................................................................................. 98 Operatory logiczne ............................................................................................................... 99 Operatory logiczne ze skracaniem .............................................................................. 100 Operator przypisania .......................................................................................................... 101 Operator ? ......................................................................................................................... 101 Kolejno(cid:258)(cid:202) wykonywania operatorów .................................................................................. 102 Stosowanie nawiasów okr(cid:200)g(cid:239)ych ......................................................................................... 102 Instrukcje steruj(cid:200)ce .................................................................................................... 105 Instrukcje wyboru ............................................................................................................... 105 Instrukcja if ................................................................................................................ 105 Instrukcja switch ......................................................................................................... 108 Instrukcje iteracyjne ........................................................................................................... 111 P(cid:218)tla while ................................................................................................................. 112 P(cid:218)tla do-while ............................................................................................................ 113 P(cid:218)tla for ..................................................................................................................... 115 Wersja for-each p(cid:218)tli for ............................................................................................. 118 Wnioskowanie typów zmiennych lokalnych w p(cid:218)tlach ............................................... 122 P(cid:218)tle zagnie(cid:285)d(cid:285)one .................................................................................................... 123 Instrukcje skoku ................................................................................................................. 123 Instrukcja break .......................................................................................................... 124 Instrukcja continue ..................................................................................................... 127 Instrukcja return ......................................................................................................... 128 6 Wprowadzenie do klas .............................................................................................. 129 Klasy .................................................................................................................................. 129 Ogólna posta(cid:202) klasy ................................................................................................... 129 Prosta klasa ................................................................................................................ 130 Deklarowanie obiektów ..................................................................................................... 132 Bli(cid:285)sze spojrzenie na operator new ............................................................................ 133 Przypisywanie zmiennych referencyjnych do obiektów ...................................................... 133 Wprowadzenie do metod .................................................................................................. 134 Dodanie metody do klasy Box .................................................................................... 134 Zwracanie warto(cid:258)ci .................................................................................................... 136 Dodanie metody przyjmuj(cid:200)cej parametry ................................................................... 137 5 Poleć książkęKup książkę 6 Java. Kompendium programisty Konstruktor ......................................................................................................................... 139 Konstruktor sparametryzowany ................................................................................... 140 S(cid:239)owo kluczowe this ........................................................................................................... 141 Ukrywanie zmiennych sk(cid:239)adowych ............................................................................. 141 Mechanizm odzyskiwania pami(cid:218)ci ...................................................................................... 142 Klasa stosu .......................................................................................................................... 142 7 Dok(cid:239)adniejsze omówienie metod i klas ..................................................................... 145 Przeci(cid:200)(cid:285)anie metod ............................................................................................................ 145 Przeci(cid:200)(cid:285)anie konstruktorów ........................................................................................ 147 Obiekty jako parametry ...................................................................................................... 149 Dok(cid:239)adniejsze omówienie przekazywania argumentów ...................................................... 151 Zwracanie obiektów ........................................................................................................... 152 Rekurencja ......................................................................................................................... 153 Wprowadzenie do kontroli dost(cid:218)pu .................................................................................... 155 Sk(cid:239)adowe statyczne ............................................................................................................ 158 S(cid:239)owo kluczowe final .......................................................................................................... 159 Powtórka z tablic ................................................................................................................ 160 Klasy zagnie(cid:285)d(cid:285)one i klasy wewn(cid:218)trzne .............................................................................. 161 Omówienie klasy String ...................................................................................................... 164 Wykorzystanie argumentów wiersza polece(cid:241) ...................................................................... 165 Zmienna liczba argumentów .............................................................................................. 166 Przeci(cid:200)(cid:285)anie metod o zmiennej liczbie argumentów ................................................... 169 Zmienna liczba argumentów i niejednoznaczno(cid:258)ci ..................................................... 170 Stosowanie wnioskowania typów zmiennych lokalnych z typami referencyjnymi ................ 171 8 Dziedziczenie ............................................................................................................. 173 Podstawy dziedziczenia ...................................................................................................... 173 Dost(cid:218)p do sk(cid:239)adowych a dziedziczenie ....................................................................... 174 Bardziej praktyczny przyk(cid:239)ad ...................................................................................... 175 Zmienna klasy bazowej mo(cid:285)e zawiera(cid:202) referencj(cid:218) do obiektu klasy pochodnej .......... 177 S(cid:239)owo kluczowe super ........................................................................................................ 178 Wykorzystanie s(cid:239)owa kluczowego super do wywo(cid:239)ania konstruktora klasy bazowej ..... 178 Drugie zastosowanie s(cid:239)owa kluczowego super ............................................................ 181 Tworzenie hierarchii wielopoziomowej .............................................................................. 182 Kiedy s(cid:200) wykonywane konstruktory? ................................................................................... 184 Przes(cid:239)anianie metod ........................................................................................................... 185 Dynamiczne przydzielanie metod ....................................................................................... 187 Dlaczego warto przes(cid:239)ania(cid:202) metody? .......................................................................... 188 Zastosowanie przes(cid:239)aniania metod ............................................................................. 188 Klasy abstrakcyjne ............................................................................................................... 190 S(cid:239)owo kluczowe final i dziedziczenie .................................................................................. 192 S(cid:239)owo kluczowe final zapobiega przes(cid:239)anianiu ............................................................ 192 S(cid:239)owo kluczowe final zapobiega dziedziczeniu ........................................................... 193 Wnioskowanie typów zmiennych lokalnych a dziedziczenie ............................................... 193 Klasa Object ....................................................................................................................... 195 Pakiety i interfejsy ...................................................................................................... 197 Pakiety ............................................................................................................................... 197 Definiowanie pakietu ................................................................................................. 197 Znajdowanie pakietów i (cid:258)cie(cid:285)ka CLASSPATH ............................................................. 198 Prosty przyk(cid:239)ad pakietu .............................................................................................. 199 Dost(cid:218)p do pakietów i sk(cid:239)adowych ...................................................................................... 199 Przyk(cid:239)ad dost(cid:218)pu ........................................................................................................ 200 Import pakietów ................................................................................................................. 203 9 Poleć książkęKup książkę Spis tre(cid:258)ci 7 Interfejsy ............................................................................................................................ 204 Definiowanie interfejsu .............................................................................................. 205 Implementacja interfejsu ............................................................................................ 206 Interfejsy zagnie(cid:285)d(cid:285)one .............................................................................................. 208 Stosowanie interfejsów ............................................................................................... 209 Zmienne w interfejsach .............................................................................................. 211 Interfejsy mo(cid:285)na rozszerza(cid:202) ........................................................................................ 213 Metody domy(cid:258)lne .............................................................................................................. 214 Podstawy metod domy(cid:258)lnych ..................................................................................... 215 Bardziej praktyczny przyk(cid:239)ad ...................................................................................... 216 Problemy wielokrotnego dziedziczenia ....................................................................... 217 Metody statyczne w interfejsach ......................................................................................... 217 Stosowanie metod prywatnych w interfejsach ..................................................................... 218 Ostatnie uwagi dotycz(cid:200)ce pakietów i interfejsów ................................................................ 219 10 Obs(cid:239)uga wyj(cid:200)tków ..................................................................................................... 221 Podstawy obs(cid:239)ugi wyj(cid:200)tków ................................................................................................ 221 Typy wyj(cid:200)tków ................................................................................................................... 222 Nieprzechwycone wyj(cid:200)tki .................................................................................................. 222 Stosowanie instrukcji try i catch .......................................................................................... 223 Wy(cid:258)wietlenie opisu wyj(cid:200)tku ....................................................................................... 224 Wiele klauzul catch ............................................................................................................ 225 Zagnie(cid:285)d(cid:285)one instrukcje try ................................................................................................ 226 Instrukcja throw ................................................................................................................. 228 Klauzula throws .................................................................................................................. 229 S(cid:239)owo kluczowe finally ....................................................................................................... 229 Wyj(cid:200)tki wbudowane w j(cid:218)zyk Java ...................................................................................... 231 Tworzenie w(cid:239)asnej klasy pochodnej wyj(cid:200)tków .................................................................... 231 (cid:146)a(cid:241)cuch wyj(cid:200)tków ............................................................................................................. 234 Trzy dodatkowe cechy wyj(cid:200)tków ........................................................................................ 235 Wykorzystanie wyj(cid:200)tków .................................................................................................... 236 11 Programowanie wielow(cid:200)tkowe .................................................................................. 237 Model w(cid:200)tków j(cid:218)zyka Java ................................................................................................. 238 Priorytety w(cid:200)tków ...................................................................................................... 239 Synchronizacja ........................................................................................................... 239 Przekazywanie komunikatów ..................................................................................... 240 Klasa Thread i interfejs Runnable ................................................................................ 240 W(cid:200)tek g(cid:239)ówny .................................................................................................................... 240 Tworzenie w(cid:200)tku ................................................................................................................ 242 Implementacja interfejsu Runnable ............................................................................ 242 Rozszerzanie klasy Thread .......................................................................................... 244 Wybór odpowiedniego podej(cid:258)cia ............................................................................... 244 Tworzenie wielu w(cid:200)tków .................................................................................................... 245 Stosowanie metod isAlive() i join() ...................................................................................... 246 Priorytety w(cid:200)tków .............................................................................................................. 248 Synchronizacja ................................................................................................................... 249 Synchronizacja metod ................................................................................................ 249 Instrukcja synchronized .............................................................................................. 251 Komunikacja mi(cid:218)dzyw(cid:200)tkowa ............................................................................................ 252 Zakleszczenie ............................................................................................................. 256 Zawieszanie, wznawianie i zatrzymywanie w(cid:200)tków ............................................................ 258 Uzyskiwanie stanu w(cid:200)tku ................................................................................................... 260 Stosowanie metody wytwórczej do tworzenia i uruchamiania w(cid:200)tku .................................. 261 Korzystanie z wielow(cid:200)tkowo(cid:258)ci ........................................................................................... 262 Poleć książkęKup książkę 8 Java. Kompendium programisty 12 Wyliczenia, automatyczne opakowywanie typów prostych i adnotacje .................... 263 Typy wyliczeniowe ............................................................................................................. 263 Podstawy wylicze(cid:241) ..................................................................................................... 263 Metody values() i valueOf() ......................................................................................... 265 Wyliczenia Javy jako typy klasowe .............................................................................. 266 Wyliczenia dziedzicz(cid:200) po klasie Enum ........................................................................ 268 Inny przyk(cid:239)ad wyliczenia ............................................................................................ 269 Opakowania typów ............................................................................................................ 271 Klasa Character ........................................................................................................... 271 Klasa Boolean ............................................................................................................. 271 Opakowania typów numerycznych ............................................................................ 272 Automatyczne opakowywanie typów prostych .................................................................... 273 Automatyczne opakowywanie i metody ..................................................................... 274 Automatyczne opakowywanie i rozpakowywanie w wyra(cid:285)eniach ............................... 274 Automatyczne opakowywanie typów znakowych i logicznych .................................... 276 Automatyczne opakowywanie pomaga zapobiega(cid:202) b(cid:239)(cid:218)dom ........................................ 276 S(cid:239)owo ostrze(cid:285)enia ....................................................................................................... 277 Adnotacje ........................................................................................................................... 277 Podstawy tworzenia adnotacji .................................................................................... 278 Okre(cid:258)lanie strategii zachowywania adnotacji .............................................................. 278 Odczytywanie adnotacji w trakcie dzia(cid:239)ania programu za pomoc(cid:200) refleksji ................. 279 Interfejs AnnotatedElement ......................................................................................... 283 Warto(cid:258)ci domy(cid:258)lne ..................................................................................................... 283 Adnotacje znacznikowe .............................................................................................. 285 Adnotacje jednoelementowe ...................................................................................... 285 Wbudowane adnotacje .............................................................................................. 287 Adnotacje typów ................................................................................................................ 288 Adnotacje powtarzalne ....................................................................................................... 292 Ograniczenia ...................................................................................................................... 294 13 Wej(cid:258)cie-wyj(cid:258)cie, instrukcja try z zasobami i inne tematy ......................................... 295 Podstawowa obs(cid:239)uga wej(cid:258)cia i wyj(cid:258)cia ................................................................................ 295 Strumienie .................................................................................................................. 296 Strumienie znakowe i bajtowe .................................................................................... 296 Predefiniowane strumienie ......................................................................................... 298 Odczyt danych z konsoli .................................................................................................... 298 Odczyt znaków .......................................................................................................... 298 Odczyt (cid:239)a(cid:241)cuchów ..................................................................................................... 299 Wy(cid:258)wietlanie informacji na konsoli ..................................................................................... 301 Klasa PrintWriter ................................................................................................................. 301 Odczyt i zapis plików ......................................................................................................... 302 Automatyczne zamykanie pliku .......................................................................................... 307 Modyfikatory transient i volatile .......................................................................................... 310 Operator instanceof ............................................................................................................ 311 Modyfikator strictfp ............................................................................................................ 313 Metody napisane w kodzie rdzennym ................................................................................ 313 Stosowanie asercji .............................................................................................................. 313 Opcje w(cid:239)(cid:200)czania i wy(cid:239)(cid:200)czania asercji .......................................................................... 315 Import statyczny ................................................................................................................. 316 Wywo(cid:239)ywanie przeci(cid:200)(cid:285)onych konstruktorów za pomoc(cid:200) this() ............................................ 318 Kilka s(cid:239)ów o kompaktowych profilach API ........................................................................... 320 Poleć książkęKup książkę Spis tre(cid:258)ci 9 14 Typy sparametryzowane ............................................................................................ 321 Czym s(cid:200) typy sparametryzowane? ...................................................................................... 321 Prosty przyk(cid:239)ad zastosowania typów sparametryzowanych .................................................. 322 Typy sparametryzowane dzia(cid:239)aj(cid:200) tylko dla typów referencyjnych ................................ 325 Typy sparametryzowane ró(cid:285)ni(cid:200) si(cid:218), je(cid:258)li maj(cid:200) inny argument typu .............................. 325 W jaki sposób typy sparametryzowane zwi(cid:218)kszaj(cid:200) bezpiecze(cid:241)stwo? ........................... 325 Klasa sparametryzowana z dwoma parametrami typu ......................................................... 327 Ogólna posta(cid:202) klasy sparametryzowanej ............................................................................. 328 Typy ograniczone ............................................................................................................... 328 Zastosowanie argumentów wieloznacznych ....................................................................... 330 Ograniczony argument wieloznaczny ......................................................................... 333 Tworzenie metody sparametryzowanej .............................................................................. 337 Konstruktory sparametryzowane ................................................................................. 338 Interfejsy sparametryzowane .............................................................................................. 339 Typy surowe i starszy kod ................................................................................................... 341 Hierarchia klas sparametryzowanych .................................................................................. 343 Zastosowanie sparametryzowanej klasy bazowej ........................................................ 343 Podklasa sparametryzowana ....................................................................................... 345 Porównywanie typów w hierarchii klas sparametryzowanych w czasie wykonywania ..... 346 Rzutowanie ................................................................................................................ 348 Przes(cid:239)anianie metod w klasach sparametryzowanych .................................................. 348 Wnioskowanie typów a typy sparametryzowane ................................................................. 349 Wnioskowanie typów zmiennych lokalnych a typy sparametryzowane ............................... 350 Znoszenie .......................................................................................................................... 350 Metody mostu ............................................................................................................ 351 B(cid:239)(cid:218)dy niejednoznaczno(cid:258)ci .................................................................................................. 352 Pewne ograniczenia typów sparametryzowanych ............................................................... 353 Nie mo(cid:285)na tworzy(cid:202) egzemplarza parametru typu ....................................................... 353 Ograniczenia dla sk(cid:239)adowych statycznych .................................................................. 354 Ograniczenia tablic typów sparametryzowanych ........................................................ 354 Ograniczenia wyj(cid:200)tków typów sparametryzowanych .................................................. 355 15 Wyra(cid:285)enia lambda ..................................................................................................... 357 Wprowadzenie do wyra(cid:285)e(cid:241) lambda ................................................................................... 357 Podstawowe informacje o wyra(cid:285)eniach lambda ......................................................... 358 Interfejsy funkcyjne .................................................................................................... 358 Kilka przyk(cid:239)adów wyra(cid:285)e(cid:241) lambda ............................................................................. 359 Blokowe wyra(cid:285)enia lambda ................................................................................................ 362 Sparametryzowane interfejsy funkcyjne .............................................................................. 364 Przekazywanie wyra(cid:285)e(cid:241) lambda jako argumentów ............................................................. 365 Wyra(cid:285)enia lambda i wyj(cid:200)tki ............................................................................................... 368 Wyra(cid:285)enia lambda i przechwytywanie zmiennych .............................................................. 369 Referencje do metod .......................................................................................................... 370 Referencje do metod statycznych ............................................................................... 370 Referencje do metod instancyjnych ............................................................................ 371 Referencje do metod a typy sparametryzowane ......................................................... 374 Referencje do konstruktorów .............................................................................................. 376 Predefiniowane interfejsy funkcyjne ................................................................................... 380 16 Modu(cid:239)y ....................................................................................................................... 383 Podstawowe informacje o modu(cid:239)ach .................................................................................. 383 Przyk(cid:239)ad prostego modu(cid:239)u .......................................................................................... 384 Kompilowanie i uruchamianie przyk(cid:239)adowej aplikacji ................................................. 388 Dok(cid:239)adniejsze informacje o instrukcjach requires i exports ......................................... 389 Poleć książkęKup książkę 10 Java. Kompendium programisty java.base i modu(cid:239)y platformy .............................................................................................. 390 Stary kod i modu(cid:239) nienazwany ............................................................................................ 390 Eksportowanie do konkretnego modu(cid:239)u .............................................................................. 391 Wymagania przechodnie .................................................................................................... 392 Stosowanie us(cid:239)ug ................................................................................................................ 396 Podstawowe informacje o us(cid:239)ugach i dostawcach us(cid:239)ug .............................................. 396 S(cid:239)owa kluczowe zwi(cid:200)zane z us(cid:239)ugami ......................................................................... 397 Przyk(cid:239)ad stosowania us(cid:239)ug i modu(cid:239)ów ......................................................................... 397 Grafy modu(cid:239)ów .................................................................................................................. 403 Trzy wyspecjalizowane cechy modu(cid:239)ów ............................................................................. 404 Modu(cid:239)y otwarte .......................................................................................................... 404 Instrukcja opens ......................................................................................................... 404 Instrukcja requires static ............................................................................................. 404 Wprowadzenie do jlink i plików JAR modu(cid:239)ów ................................................................... 405 Do(cid:239)(cid:200)czanie plików dostarczonych jako struktura katalogów ........................................ 405 Konsolidacja modularnych plików JAR ........................................................................ 405 Pliki JMOD ................................................................................................................. 406 Kilka s(cid:239)ów o warstwach i modu(cid:239)ach automatycznych .......................................................... 406 Ko(cid:241)cowe uwagi dotycz(cid:200)ce modu(cid:239)ów .................................................................................. 407 CZ(cid:125)(cid:165)(cid:109) II Biblioteka j(cid:218)zyka Java 17 Obs(cid:239)uga (cid:239)a(cid:241)cuchów ................................................................................................... 411 Konstruktory klasy String ..................................................................................................... 411 D(cid:239)ugo(cid:258)(cid:202) (cid:239)a(cid:241)cucha ............................................................................................................... 413 Specjalne operacje na (cid:239)a(cid:241)cuchach ...................................................................................... 413 Litera(cid:239)y tekstowe ........................................................................................................ 413 Konkatenacja (cid:239)a(cid:241)cuchów ............................................................................................ 414 Konkatenacja (cid:239)a(cid:241)cuchów z innymi typami danych ...................................................... 414 Konwersja (cid:239)a(cid:241)cuchów i metoda toString() ................................................................... 415 Wyodr(cid:218)bnianie znaków ...................................................................................................... 416 Metoda charAt() ......................................................................................................... 416 Metoda getChars() ...................................................................................................... 416 Metoda getBytes() ....................................................................................................... 416 Metoda toCharArray() ................................................................................................. 417 Porównywanie (cid:239)a(cid:241)cuchów .................................................................................................. 417 Metody equals() i equalsIgnoreCase() .......................................................................... 417 Metoda regionMatches() ............................................................................................. 418 Metody startsWith() i endsWith() ................................................................................ 418 Metoda equals() kontra operator == ......................................................................... 418 Metoda compareTo() .................................................................................................. 419 Przeszukiwanie (cid:239)a(cid:241)cuchów ................................................................................................. 420 Modyfikowanie (cid:239)a(cid:241)cucha .................................................................................................... 421 Metoda substring() ...................................................................................................... 421 Metoda concat() ......................................................................................................... 422 Metoda replace() ........................................................................................................ 422 Metody trim() i strip() .................................................................................................. 423 Konwersja danych za pomoc(cid:200) metody valueOf() ................................................................ 424 Zmiana wielko(cid:258)ci liter w (cid:239)a(cid:241)cuchu ...................................................................................... 424 (cid:146)(cid:200)czenie (cid:239)a(cid:241)cuchów ........................................................................................................... 425 Dodatkowe metody klasy String .......................................................................................... 425 Poleć książkęKup książkę Spis tre(cid:258)ci 11 Klasa StringBuffer ............................................................................................................... 426 Konstruktory klasy StringBuffer ................................................................................... 427 Metody length() i capacity() ........................................................................................ 427 Metoda ensureCapacity() ........................................................................................... 427 Metoda setLength() .................................................................................................... 428 Metody charAt() i setCharAt() ..................................................................................... 428 Metoda getChars() ...................................................................................................... 428 Metoda append() ....................................................................................................... 429 Metoda insert() ........................................................................................................... 429 Metoda reverse() ........................................................................................................ 430 Metody delete() i deleteCharAt() ................................................................................ 430 Metoda replace() ........................................................................................................ 431 Metoda substring() ...................................................................................................... 431 Dodatkowe metody klasy StringBuffer ........................................................................ 431 Klasa StringBuilder .............................................................................................................. 432 18 Pakiet java.lang .......................................................................................................... 433 Opakowania typów prostych .............................................................................................. 433 Klasa Number ............................................................................................................ 434 Klasy Double i Float ................................................................................................... 434 Metody isInfinite() i isNan() ........................................................................................ 437 Klasy Byte, Short, Integer i Long ................................................................................. 437 Klasa Character .......................................................................................................... 445 Dodatki wprowadzone w celu obs(cid:239)ugi punktów kodowych Unicode .......................... 446 Klasa Boolean ............................................................................................................. 449 Klasa Void .......................................................................................................................... 449 Klasa Process ...................................................................................................................... 450 Klasa Runtime .................................................................................................................... 451 Zarz(cid:200)dzanie pami(cid:218)ci(cid:200) ................................................................................................ 452 Wykonywanie innych programów .............................................................................. 453 Runtime.Version ................................................................................................................ 453 Klasa ProcessBuilder ........................................................................................................... 455 Klasa System ...................................................................................................................... 457 Wykorzystanie metody currentTimeMillis() do obliczania czasu wykonywania programu ........................................................... 458 U(cid:285)ycie metody arraycopy() ......................................................................................... 459 W(cid:239)a(cid:258)ciwo(cid:258)ci (cid:258)rodowiska ............................................................................................. 459 Interfejs System.Logger i klasa System.LoggerFinder ............................................................ 460 Klasa Object ....................................................................................................................... 460 Wykorzystanie metody clone() i interfejsu Cloneable .......................................................... 460 Klasa Class .......................................................................................................................... 462 Klasa ClassLoader ............................................................................................................... 465 Klasa Math ......................................................................................................................... 465 Funkcje trygonometryczne ......................................................................................... 465 Funkcje wyk(cid:239)adnicze .................................................................................................. 466 Funkcje zaokr(cid:200)gle(cid:241) .................................................................................................... 466 Inne metody klasy Math ............................................................................................. 467 Klasa StrictMath ................................................................................................................. 469 Klasa Compiler ................................................................................................................... 469 Klasy Thread i ThreadGroup oraz interfejs Runnable .......................................................... 469 Interfejs Runnable ...................................................................................................... 469 Klasa Thread .............................................................................................................. 470 Klasa ThreadGroup .................................................................................................... 472 Poleć książkęKup książkę 12 Java. Kompendium programisty Klasy ThreadLocal i InheritableThreadLocal ........................................................................ 475 Klasa Package ..................................................................................................................... 475 Klasa Module ...................................................................................................................... 476 Klasa ModuleLayer ............................................................................................................. 477 Klasa RuntimePermission .................................................................................................... 477 Klasa Throwable ................................................................................................................. 477 Klasa SecurityManager ........................................................................................................ 477 Klasa StackTraceElement .................................................................................................... 477 Klasa StackWalker i interfejs StackWalker.StackFrame ......................................................... 478 Klasa Enum ......................................................................................................................... 478 Klasa ClassValue ................................................................................................................. 479 Interfejs CharSequence ....................................................................................................... 479 Interfejs Comparable .......................................................................................................... 480 Interfejs Appendable .......................................................................................................... 480 Interfejs Iterable .................................................................................................................. 480 Interfejs Readable ............................................................................................................... 481 Interfejs AutoCloseable ....................................................................................................... 481 Interfejs Thread.UncaughtExceptionHandler ....................................................................... 481 Podpakiety pakietu java.lang .............................................................................................. 481 Podpakiet java.lang.annotation ................................................................................... 482 Podpakiet java.lang.instrument ................................................................................... 482 Podpakiet java.lang.invoke ......................................................................................... 482 Podpakiet java.lang.management ............................................................................... 482 Podpakiet java.lang.module ........................................................................................ 482 Podpakiet java.lang.ref ............................................................................................... 482 Podpakiet java.lang.reflect .......................................................................................... 482 19 Pakiet java.util, cz(cid:218)(cid:258)(cid:202) 1. — kolekcje .......................................................................... 483 Wprowadzenie do kolekcji ................................................................................................. 484 Interfejsy kolekcji ................................................................................................................ 485 Interfejs Collection ..................................................................................................... 486 Interfejs List ................................................................................................................ 488 Interfejs Set ................................................................................................................ 489 Interfejs SortedSet ...................................................................................................... 490 Interfejs NavigableSet ................................................................................................. 490 Interfejs Queue .......................................................................................................... 491 Interfejs Deque ........................................................................................................... 492 Klasy kolekcji ...................................................................................................................... 493 Klasa ArrayList ............................................................................................................ 494 Klasa LinkedList .......................................................................................................... 497 Klasa HashSet ............................................................................................................. 498 Klasa LinkedHashSet ................................................................................................... 499 Klasa TreeSet .............................................................................................................. 499 Klasa PriorityQueue .................................................................................................... 501 Klasa ArrayDeque ....................................................................................................... 501 Klasa EnumSet ............................................................................................................ 502 Dost(cid:218)p do kolekcji za pomoc(cid:200) iteratora .............................................................................. 502 Korzystanie z iteratora Iterator .................................................................................... 504 P(cid:218)tla typu for-
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Java. Kompendium programisty. Wydanie XI
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ą: