Statická metoda Java, proměnná a blok s příkladem

Obsah:

Anonim

Statické může být:

  1. Statické proměnné
  2. Statické metody
  3. Statické bloky kódu.

Podívejme se nejprve na statické proměnné a statické metody.

Co je statická proměnná v Javě?

Statická proměnná v Javě je proměnná, která patří do třídy a inicializuje se pouze jednou na začátku provádění. Je to proměnná, která patří do třídy a nikoli do objektu (instance). Statické proměnné jsou inicializovány pouze jednou, na začátku provádění. Tyto proměnné budou nejprve inicializovány, před inicializací libovolných proměnných instance.

  • Jedna kopie, kterou mají sdílet všechny instance třídy
  • Statická proměnná je přístupná přímo podle názvu třídy a nepotřebuje žádný objekt

Syntaxe:

< class-name>. 

Co je statická metoda v Javě?

Statická metoda v Javě je metoda, která patří do třídy a nikoli do objektu. Statická metoda může přistupovat pouze ke statickým datům. Jedná se o metodu, která patří do třídy a nikoli do objektu (instance). Statická metoda může přistupovat pouze ke statickým datům. Nemůže přistupovat k nestatickým datům (proměnné instance).

  • Statická metoda může volat pouze jiné statické metody a nemůže z ní volat nestatickou metodu.
  • Statická metoda je přístupná přímo podle názvu třídy a nepotřebuje žádný objekt
  • Statická metoda stejně nemůže odkazovat na klíčová slova „toto“ nebo „super“

Syntaxe:

< class-name>. 

Poznámka: hlavní metoda je statická, protože před spuštěním instance musí být přístupná pro spuštění aplikace.

Naučme se nuance statických klíčových slov provedením několika cvičení!

Příklad: Jak volat statické proměnné a metody

Krok 1) Zkopírujte následující kód do editoru

ukázka veřejné třídy {public static void main (String args []) {Student s1 = nový Student ();s1.showData ();Student s2 = nový Student ();s2.showData ();//Student.b++;//s1.showData ();}}třída Student {int a; // inicializováno na nulustatický int b; // inicializováno na nulu pouze při načtení třídy ne pro každý vytvořený objekt.Student(){// Konstruktor zvyšující statickou proměnnou bb ++;}public void showData () {System.out.println ("Hodnota a =" + a);System.out.println ("Hodnota b =" + b);}// public static void increment () {// a ++;//}}

Krok 2) Uložit a zkompilovat kód. Spusťte kód jako, java Demo .
Krok 3) Očekávaný výstup je uveden níže


Následující diagram ukazuje, jak se vytvářejí referenční proměnné a objekty a jak ke statickým proměnným přistupují různé instance.


Krok 4) Je možné přistupovat ke statické proměnné zvenčí třídy pomocí syntaxe ClassName.Variable_Name . Odkomentujte řádek č. 7 a 8. Uložit, zkompilovat a spustit. Sledujte výstup.

Value of a = 0Value of b = 1Value of a = 0Value of b = 2Value of a = 0Value of b = 3
Krok 5) Odkomentujte řádek 25, 26 a 27. Uložit, zkompilovat a spustit.
error: non-static variable a cannot be referenced from a static context a++;

Krok 6) Chyba =? Je to proto, že není možné získat přístup k proměnné instance „ a “ z metody statické třídy Java „ přírůstek “.

Co je statický blok v Javě?

Statický blok je blok příkazu uvnitř třídy Java, který bude proveden, když je třída nejprve načten do JVM. Statický blok přispívá k inicializaci statické datové členy , stejně jako konstruktérů pomoc inicializovat členy instance.

class Test{static {//Code goes here}}

Následující program je příkladem java statického bloku.

Příklad: Jak přistupovat ke statickému bloku

ukázka veřejné třídy {statický int a;statický int b;statický {a = 10;b = 20;}public static void main (String args []) {System.out.println ("Hodnota a =" + a);System.out.println ("Hodnota b =" + b);}}

získáte následující výstup programu.

Value of a = 10Value of b = 20