Statická metóda Java, premenná a blok s príkladom

Obsah:

Anonim

Statické môžu byť:

  1. Statické premenné
  2. Statické metódy
  3. Statické bloky kódu.

Pozrime sa najskôr na statické premenné a statické metódy.

Čo je statická premenná v prostredí Java?

Statická premenná v Jave je premenná, ktorá patrí do triedy a inicializuje sa iba raz na začiatku vykonávania. Je to premenná, ktorá patrí do triedy a nie do objektu (inštancie). Statické premenné sa inicializujú iba raz, na začiatku vykonávania. Tieto premenné sa inicializujú ako prvé, pred inicializáciou akýchkoľvek premenných inštancie.

  • Jedna kópia, ktorú majú zdieľať všetky inštancie triedy
  • K statickej premennej je možné pristupovať priamo z názvu triedy a nepotrebuje žiadny objekt

Syntax:

< class-name>. 

Čo je statická metóda v prostredí Java?

Statická metóda v Jave je metóda, ktorá patrí do triedy a nie do objektu. Statická metóda má prístup iba k statickým údajom. Je to metóda, ktorá patrí do triedy a nie do objektu (inštancie). Statická metóda má prístup iba k statickým údajom. Nemá prístup k nestatickým údajom (premenným inštancie).

  • Statická metóda môže volať iba iné statické metódy a nemôže z nej volať nestatickú metódu.
  • Statická metóda je prístupná priamo z názvu triedy a nepotrebuje žiadny objekt
  • Statická metóda nemôže v žiadnom prípade odkazovať na kľúčové slová „toto“ alebo „super“

Syntax:

< class-name>. 

Poznámka: hlavná metóda je statická, pretože musí byť prístupná pre spustenie aplikácie skôr, ako dôjde k akejkoľvek inštancii.

Naučme sa nuansy statických kľúčových slov vykonaním niekoľkých cvičení!

Príklad: Ako volať statické premenné a metódy

Krok 1) Skopírujte nasledujúci kód do editora

ukážka pre verejnú triedu {public static void main (String args []) {Študent s1 = nový Študent ();s1.showData ();Študent s2 = nový Študent ();s2.showData ();//Student.b++;//s1.showData ();}}trieda študent {int a; // inicializované na nulustatický int b; // inicializovaný na nulu iba pri načítaní triedy nie pre každý vytvorený objekt.Študent () {// Konštruktor zvyšujúci statickú premennú bb ++;}public void showData () {System.out.println ("Hodnota a =" + a);System.out.println ("Hodnota b =" + b);}// public static void increment () {// a ++;//}}

Krok 2) Uložte a kompilujte kód. Spustite kód ako, java Demo .
Krok 3) Očakávaný výstup je uvedený nižšie


Nasledujúci diagram ukazuje, ako sa vytvárajú referenčné premenné a objekty a ako k statickým premenným pristupujú rôzne inštancie.


Krok 4) K statickej premennej je možné pristupovať mimo triedy pomocou syntaxe ClassName.Variable_Name . Odkomentujte riadok č. 7 a 8. Uložiť, zostaviť a spustiť. 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 riadok 25, 26 a 27. Uložiť, kompilovať a spustiť.
error: non-static variable a cannot be referenced from a static context a++;

Krok 6) Chyba =? Je to tak preto, lebo nie je možné získať prístup k premennej inštancie „ a “ z metódy statickej triedy Java „ prírastok “.

Čo je statický blok v Jave?

Statický blok je blok príkazu vnútri triedy Java, ktorý bude vykonaný, keď je trieda najprv načítaný do JVM. Statický blok prispieva k inicializácii statické dátovej členmi , rovnako ako konštruktérov pomoc inicializovať členmi inštancie.

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

Nasledujúci program je príkladom statického bloku Java.

Príklad: Ako získať prístup k statickému bloku

ukážka pre verejnú triedu {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);}}

dostanete nasledujúci výstup programu.

Value of a = 10Value of b = 20