v Javě, statický je klíčové slovo, které lze použít s proměnnými, třídami, bloky a metodami. Když před kterýmkoli z nich použijeme klíčové slovo static, znamená to, že zadaný člen patří k samotnému typu. Jinými slovy, instance statického člena je vytvořena a sdílena napříč všemi instancemi třídy.
V této části použijeme statický klíčové slovo s třída Java a také pochopit proč používáme statickou třídu?
Statická třída Java
Třídu můžeme prohlásit za statickou pomocí klíčového slova static. Třída může být deklarována jako statická, pouze pokud je a vnořená třída . Nevyžaduje žádný odkaz na vnější třídu. Vlastností statické třídy je, že nám neumožňuje přístup k nestatickým členům vnější třídy.
Abychom pochopili koncept statické třídy, musíme nejprve porozumět konceptu vnitřní, vnější, a vnořený třída.
Vnitřní třída
Jsou volány třídy, které jsou nestatické a vnořené vnitřní třídy . Všimněte si, že nemůžeme vytvořit instanci vnitřní třídy bez vytvoření instance vnější třídy. Bez použití odkazu na instanci vnější třídy může instance vnitřní třídy přistupovat ke členům své vnější třídy. Díky tomu je program jednoduchý a stručný.
Vnější třída
Zavolá se třída, ve které je definována vnořená třída vnější třída .
Vnořená třída
Jáva nám umožňuje definovat třídu v rámci třídy, která je známá jako a vnořená třída . Může být statický nebo nestatický. Hlavní rozdíl mezi statickou a nestatickou třídou je v tom, že:
- Instanci statické vnořené třídy lze vytvořit bez vytvoření instance její vnější třídy.
- Ke statickým a nestatickým členům vnější třídy může přistupovat vnitřní třída.
- Ke statickým členům vnější třídy má přístup pouze statická třída.
Pamatovat
- Všechny statické třídy jsou vnořené třídy, ale naopak to neplatí.
- Má přístup pouze ke statickým členům vnější třídy.
- V rámci statické třídy nelze přistupovat k metodám nestatických proměnných a instancí. Pokud se pokusíte o přístup k nestatickému odkazu ze statického pole, vyvolá to chybu: Nelze vytvořit statický odkaz na nestatické pole.
- Uvnitř statické třídy můžeme vytvářet statické bloky, proměnné a metody.
- Třída může mít více statických tříd.
- Nemůžeme přistupovat ke statické třídě, pokud je uvnitř statického bloku.
- V rámci statické třídy může být libovolný počet statických tříd.
Příklad statické třídy Java
JavaStaticClassExample.java
public class JavaStaticClassExample { private static String s= 'Javatpoint'; //Static and nested class static class StaticNestedClass { //non-static method of the nested class public void show() { //prints the string defined in base class System.out.println(s); } } public static void main(String args[]) { JavaStaticClassExample.StaticNestedClass obj = new JavaStaticClassExample.StaticNestedClass(); //invoking the method of the nested class obj.show(); } }
Výstup:
Javatpoint
Proč používáme statickou třídu v Javě?
V Javě se klíčové slovo static primárně používá pro správu paměti. Klíčové slovo static můžeme použít s proměnnými, metodami, bloky a třídami. Použití statické třídy je způsob seskupování tříd dohromady. Používá se také pro přístup k primitivnímu členu ohraničující třídy prostřednictvím odkazu na objekt. Statické třídy jsou načteny zavaděčem tříd v době prvního použití, nikoli při načítání obklopující třídy.