
Java programátor expert
V tejto už štvrtej časti obľúbeného seriálu pokračujeme v často pýtaných otázkach, ktoré sa môžu vyskytnúť na prvom kole pracovného pohovoru na pozíciu Java programátor junior. Ak si ešte nečítal predošlé diely, nájdeš ich tu:
Statická metóda v Jave je metóda, ktorá patrí ku triede a nie ku konkrétnym inštanciám tejto triedy. To znamená, že môžeme volať statické metódy priamo z triedy, bez potreby vytvárania objektu tejto triedy.
Hlavné odlišnosti statických metód oproti klasickým sú:
Keďže statické metódy neoperujú nad atribútmi inštancie triedy, mali by sme si byť preto vedomí, že:
– statická metóda sa nemôže priamo odkazovať na atribút inštancie
– statická metóda nemôže priamo volať metódu inštancie
– odvodená trieda nemôže preťažiť (override) statické metódy
– v statických metódach nemôžeme použiť kľúčové slová this a super
Statické metódy sa používajú v prípadoch, keď metóda nepotrebuje meniť stav objektu alebo nepoužíva premenné inštancie. Rovnako, keď chceme implementovať metódu bez vytvárania inštancie. Využitie tak nájde najčastejšie v pomocných metódach.
Finálna metóda, je označenie takej metódy, ktorá nemôže byť prekrytá (override) v odvodených triedach. Týmto spôsobom dosiahneme zákaz zmeny implementácie tejto metódy.
Hlavné odlišnosti finálnych metód oproti klasickým sú:
Použitie finálnych metód je užitočné v prípade, keď navrhujeme triedu a chceme zabezpečiť, že konkrétna hotová metóda by sa nemala dať ďalej upravovať. Štandardné Java knižnice sú plné metód označených ako final.
Singleton je návrhový vzor triedy, ktorý zabezpečuje existenciu iba jednej inštancie danej triedy a poskytuje k tejto inštancii prístup zvonku. Cieľom tohto návrhového vzoru je zamedziť vytváraniu viacerých inštancií triedy a zabezpečiť, aby všetky odkazy na túto triedu smerovali k jedinej existujúcej inštancii.
Hlavné vlastnosti singleton triedy sú:
Singleton návrhový vzor je užitočný, keď potrebujeme zabezpečiť, aby existovala iba jedna inštancia triedy v celom prostredí programu, napríklad pri práci so zdieľanými zdrojmi, databázovými spojeniami alebo objektami obsahujúcimi globálne nastavenia.
V jazyku Java nie je priamo ekvivalentný koncept deštruktora ako v niektorých iných jazykoch, napríklad v C++. V Jave sa stará o automatické uvoľňovanie pamäte zberač odpadu (garbage collector) a teda nie je potreba explicitne definovať deštruktory.
Pri tvorbe objektov v Jave netreba zohľadňovať uvoľňovanie pamäte ani ich deštrukciu. Keď sa objekt stane nepoužiteľným a stratí sa naň odkaz (referencia), garbage collector automaticky deteguje takéto nepoužívané objekty a uvoľní pamäť, ktorú zaberajú.
V Jave je možné implementovať metódu finalize(), ktorá sa volá tesne predtým, než je objekt odstránený z pamäte zberačom odpadu. Táto metóda však nie je rovnaká ako deštruktor v iných jazykoch a má obmedzený vplyv na správu pamäte a uvoľňovanie zdrojov. Používanie finalize() sa neodporúča, pretože môže mať nepredvídateľné správanie.
Spracovanie výnimiek je koncept, ktorý umožňuje programátorom ošetriť a riadiť výnimočné situácie alebo chyby, ktoré môžu nastať počas behu programu. Výnimky môžu byť spôsobené rôznymi faktormi, ako napríklad chybným vstupom, problémami so súborovým systémom alebo nekonzistentným správaním programu.
Hlavné bloky spracovania výnimiek slúžia na zachytávanie a spracovanie výnimiek. Poznáme nasledovné:
Vyhadzovanie výnimiek: Výnimky môžu byť explicitne vyhodené pomocou throw príkazu. Tento príkaz sa používa na signalizovanie, že výnimka nastala.
Spracovanie výnimiek je dôležitou súčasťou na zabezpečenie, že program neskončí neočakávaným pádom a poskytne informácie o prípadných chybách, ktoré môžu nastať.
Ak si Java programátor a hľadáš prácu, prečítaj si viac o plate programátora a pozri si naše pracovné ponuky.