|   | 
|  |  Učebnice jazyka JAVA (Pavel Herout), Kopp, 2000 České  Budějovice, 350  str., 199 Kč, 69 Kč disketa       Další  knihu autora  Pavla Herouta  jsem četl  s velkým očekáváním. Přečetl jsem od něj  
totiž učebnici jazyka     C, která byla vynikající. Musím říct, že ani nová kniha mě  nezklamala. Kniha  popisuje verzi  jazyka Java  JDK 1.2.2.            Text  knihy  je   rozdělen  do  dvaceti  kapitol, seznamu  literatury a  rejstříku. Za  každou kapitolou,  kde  je  co  procvičovat,  jsou  zařazena  cvičení  pro  čtenáře.  Dále  je  na  konci  kapitoly  uveden přehled     běžných chyb a dobré rady. Autor v textu 
poněkud  nestandardně  používá  odkaz  na  knihu, která  ještě nevyšla. Na str. 37, 147, 148 je odkaz na  knihu  UJJ2. Pokud  čtenář nepřečetl 
dost pozorně úvod knihy, bude trochu dezorientován, stejně jako z počátku já.  Na  str.41  se  v  textu  hovoří  o  metodě  třídy isInfinity() a ve výpisu programu je 
isInfinite().         Důraz je v knize kladen na odlišnosti proti jazyku C,  jako je neexistence globálních  proměnných,  příkazu  GOTO, operátoru 
čárka, možnost  deklarovat metodu až po jejím  použitím atd.  Čtenář je  upozorněn na nemožnost     použití  klíčového slova  void u  metody bez parametrů.  
Nechybí informace o tom, že Java poskytuje pouze jeden způsob předávání  parametrů (call-by-value ),  tedy to,     že  parametry  mohou  být  jen  čteny.  
Změna parametrů     uvnitř metody  se tedy po opuštění  metody ztrácí. Není     samozřejmě zapomenuto  ani na možnost  přetížení metod,  která není možná pouze změnou typu návratové hodnoty. Velká pozornost  je věnována polím,  třídám a objektům.  Zatímco  polím  je  pro  jednoduchost  jejich deklarací  a použití rezervováno jen sedm stran, třídám a objektům  je k dispozici  plných 26  stran. Čtenář  se zde dozví  o možnosti získat velikost pole pomocí členské proměnné  length  a  to, že  Java striktně za běhu programu kontroluje 
překročení obou  mezí pole. U dvourozměrných     polí je  pak upozorněno na fakt,  že počet sloupců pole  může být  u každého řádku jiná.  V 8. kapitole věnované  třídám a objektům  je důkladně  a fundovaně  objasněna  problematika tříd  a   objektů.  Je objasněn  pojem referenční  proměnné,  proměnné  třídy  (tj.  statické  proměnné)  a  proměnné  instance.  Rovněž  se  podrobně vysvětluje pojem statické metody a metody instance. Na 
mnoha příkladech je  ukázána problematika konstruktorů, implicitního parametru this a finalizeru, přetížení metod a konstruktorů,  rušení objektů použitím garbage collectoru. 10. kapitola rozšiřuje znalosti čtenáře o třídách a objektech  o modifikátorech  deklarace třídy  public,     
abstract   a  final,  předávání skutečných  parametrů metodám. 11. kapitola se zabývá dědičností, konstruktory  implicitními i  neimplicitními, vytváření  identických  kopii 
jedné  instance,  tedy  klonováním. Trochu méně srozumitelné (alespoň pro mne) bylo objasnění mělké a hluboké kopie. 12. kapitola vysvětluje problematiku vytváření knihoven tříd, tedy balíků (package). Mám pocit, že si čtenář-začátečník, kterému je konec konců kniha věnována, neudělá z uvedených příkladů názor, k čemu slouží rozhraní a v jakých situacích použít vnitřní třídy. Určitý náznak použití rozhraní je v poslední kapitole. Předposlední část, věnovaná systémovým akcím, popisuje spolupráci programu s okolím, tedy předávání parametrů z příkazového řádku, standardní vstupní a výstupní proudy System.in, System.out a System.err a seznamuje s některými metodami ze třídy System, jako jsou informace o čase či zjištění velikosti dostupné paměti. Pro lepší pochopení problematiky by byl vhodný nějaký podrobný příklad, ukazující použití Javy v reálné situaci, možná, že to bude v druhém díle. Příklady uvedené v knize sice dobře ilustrují vyloženou problematiku, ale i sám autor uznává, že některé příklady jsou vyumělkované. Koncepci postupně rozvíjeného příkladu použil autor v poslední kapitole, kde ukazuje použití vláken. Určitým nedostatkem knihy je její knihařské provedení. Kniha se mi totiž během čtení rozpadla. Předností je naopak bezchybná čeština autora a dobré uspořádání látky. Snad by čtenáři uvítali větší rozsah knih. Nechme se překvapit, s čím přijde autor ve druhém dílu, který by měla obsahovat popis grafického uživatelského rozhraní. První díl lze považovat za docela zdařilý. dr.vasicek@atlas.czRNDr.Karel Vašíček, Družstevní 117,; 530 09 Pardubice, tel. 46-6401520, 6058489Psáno pro Softwarové noviny 2/2002 str. 116
 | 
| 
 Naposledy změněno: 19. 12. 2012 |