

package
Pokud nepiseme zrovna zcela trivialni kod, je dobrou zvyklosti delit zdrojove kody do adresaru - napriklac Client, Server, Shared, Testing a podobně

to že se zdrojový kód nenachází přímo v kořenovém adresáři se zdrojáky, ale v podadresáři (či ve větší hloubce - např. Client/Protocol/Basic) specifikujeme na začátku zdrojového kódu klíčovým slovem
- Kód: Vybrat vše
package
následovaným jménem onoho adresáře, či celé adresářové struktury - příklady:
- Kód: Vybrat vše
package Client;
package Client.Protocol.Basic;
tento příkaz se na začátku souboru může vyskytovat maximálně 1x.
import
Klíčové slovo import v tutorialu potřeba nebylo, v rozsáhlejších projektech je používáno téměř vždy. Jeho funkce je podobná #include známého z C/C++ - zpřístupňuje funkcionalitu.
Celá java je organizována do balíčků (packages). Ten základní se importuje defaultně - java.lang.* . Pro všechno ostatní je potřeba import explicitně uvést. Eclipse nám to ulehčuje pomocí klávesové zkratky Ctrl+Shift+O, která zorganizuje a doplní importy. Příklad použití klíčového slova import:
- Kód: Vybrat vše
import java.util.Iterator;
import java.util.Queue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
Lze takto importovat jednotlivé třídy, jak je uvedeno v příkladu, nebo importovat celý balíček - např. import java.util.*;
Řízení přístupu
U každé třídy či funkce/metody je potřeba specifikovat kdo ji může použít.
Základní přístupy jsou 4: public, protected, (default) a private.
Samotná třída k sobě samé může přistupovat vždy.
Ostatní třídy ze stejného balíčku mohou přistupovat ke všemu co není private.
Třída která dědí z dané třídy, a není přitom ve stejném balíčku může přistupovat jen k public a protected.
A všechno ostatní může přistupovat jen k public.
Každý soubor *.java obsahuje definici právě jedné public třídy (klíčové slovo class) která se jmenuje stejně jako soubor. V příkladě tutoriálu HelloWorld.java je to třída HelloWorld. Může obsahovat libovolný počet dalších nepublic tříd.
class
Klíčové slovo slouží k definici třídy. (více v nějakém dalším díle seriálu)

příklad z tutorialu:
- Kód: Vybrat vše
public class HelloWorld {
// definice proměnných třídy, metod objektů a statických funkcí třídy
}
static a ne-static funkce, metody a proměnné
(Téměř) všechno v javě je třída.

statické proměnné a funkce jsou volány pro třídu, ne-statické proměnné a metody jsou volány pro instanci objektu dané třídy.
tutoriál obsahoval právě jednu statickou metodu -
- Kód: Vybrat vše
public static void main(String[] args) {
// tělo funkce
}
tato statické funkce je vstupním bodem celého programu. Musí být veřejná (public), statická (static), bez návratové hodnoty (void), jmenovat se main() a přijímat jako parametr pole proměnných typu String. String je třída javy pro řetězec znaků. Pole args je naplněno jednotlivým slovy příkazové řádky, tak jak byl program spuštěn.
K přístupu ke členským proměnným, funkcím a metodám třídy se používá operátor tečka (.). Statické funkce a proměnné se volají přes jméno třídy, nestatické přes jmého objektu. Pokud bych tedy chtěl zavolat funkci main z tutoriálu:
- Kód: Vybrat vše
HelloWorld.main(parametry);
pokud mam proměnnou typu Integer, a chtěl bych jí převést do Stringu, zavolám:
- Kód: Vybrat vše
Integer i = 20;
String s = i.toString();
kde toString() je nestatická metoda třídy Integer.
return
Klíčové slovo return slouží k řízení běhu programu. Lze ho volat bez parametru, či s parametrem - v případě funkcí a metod s návratovými hodnotami.
input output
Poslední věc nevysvětlená z tutorialu je výpis do konzole. To sice není klíčové slovo, ale hodí se abych to osvětlil.
Java obsahuje třídu System, která obsahuje spoustu užitečných věcí. V tutorialu jsem přistupoval ke statické proměnné out (System.out) která reprezentuje standardní výstup. Dále zde jsou proměnné in pro standardní vstup a err pro standardní chybový výstup. Tato statická proměnná (instance objektu třídy) má nestatické metody print() a println() - první vypíše parametry, druhá udělá totéž a navíc skočí na nový řádek.
Pro úplnost zde dodám, že:
- Kód: Vybrat vše
"Nazdar světe"
Závěr
V dnešním díle jsme si pověděli něco o klíčových slovech - alespoň některých, další popíši až na ně někde narazíme

Za domácí cvičení si zkuste upravit tutoriál HelloWorld.java.
Zapouzdřete třídu do balíčku basics.lekce1 - pozor budete muset změnit adresář kde je umístěn zdrojový soubor.
Přidejte do třídy HelloWorld novou statickou funkci, která bude dělat výpis. Tuto funkci udělejte přístupnou pouze třídě HelloWorld.
Z funkce main odstraňte výpis do konzole - (System.out.println(...);) a zavolejte vámi vytvořenou privátní funkci.
Na reakce a u příštího dílu naviděnou se těší Ariczek.
