Metoda statică Java, variabilă și blocare cu exemplu

Cuprins:

Anonim

Statica poate fi:

  1. Variabile statice
  2. Metode statice
  3. Blocuri statice de cod.

Să vedem mai întâi variabilele statice și metodele statice.

Ce este variabila statică în Java?

Variabila statică în Java este variabilă care aparține clasei și inițializată o singură dată la începutul execuției. Este o variabilă care aparține clasei și nu obiectului (instanță). Variabilele statice sunt inițializate o singură dată, la începutul execuției. Aceste variabile vor fi inițializate mai întâi, înainte de inițializarea oricărei variabile de instanță.

  • O singură copie pentru a fi partajată de toate instanțele clasei
  • O variabilă statică poate fi accesată direct de numele clasei și nu are nevoie de niciun obiect

Sintaxă:

< class-name>. 

Ce este metoda statică în Java?

Metoda statică în Java este o metodă care aparține clasei și nu obiectului. O metodă statică poate accesa numai date statice. Este o metodă care aparține clasei și nu obiectului (instanță). O metodă statică poate accesa numai date statice. Nu poate accesa date nestatice (variabile de instanță).

  • O metodă statică poate apela numai alte metode statice și nu poate apela o metodă nestatică din aceasta.
  • O metodă statică poate fi accesată direct de numele clasei și nu are nevoie de niciun obiect
  • O metodă statică nu se poate referi oricum la cuvintele cheie „acest” sau „super”

Sintaxă:

< class-name>. 

Notă: metoda principală este statică, deoarece trebuie să fie accesibilă pentru ca o aplicație să poată rula, înainte ca orice instanțare să aibă loc.

Să învățăm nuanțele cuvintelor cheie statice făcând exerciții!

Exemplu: Cum se apelează variabile statice și metode

Pasul 1) Copiați următorul cod într-un editor

demo de clasă publică {public static main main (String args []) {Student s1 = student nou ();s1.showData ();Student s2 = student nou ();s2.showData ();//Student.b++;//s1.showData ();}}clasa Student {int a; // inițializat la zerostatic b; // inițializat la zero numai atunci când clasa este încărcată nu pentru fiecare obiect creat.Student(){// Constructor care incrementează variabila statică bb ++;}public nul showData () {System.out.println ("Valoarea a =" + a);System.out.println ("Valoarea lui b =" + b);}// creșterea publicului static static () {// a ++;//}}

Pasul 2) Salvați și compilați codul. Rulați codul ca java Demo .
Pasul 3) Ieșirea preconizată arată mai jos


Următoarea diagramă arată, cum sunt create variabilele de referință și obiectele și variabilele statice sunt accesate de diferite instanțe.


Pasul 4) Este posibil să accesați o variabilă statică din afara clasei utilizând sintaxa ClassName.Variable_Name . Linia de comentariu nr. 7 și 8. Salvați, compilați și executați. Observați ieșirea.

Value of a = 0Value of b = 1Value of a = 0Value of b = 2Value of a = 0Value of b = 3
Pasul 5) Descomentați liniile 25,26 și 27. Salvați, compilați și executați.
error: non-static variable a cannot be referenced from a static context a++;

Pasul 6) Eroare =? Acest lucru se datorează faptului că nu este posibil să accesați variabila de instanță " a " din metoda java static class " increment ".

Ce este Static Block în Java?

Blocul static este un bloc de declarație în interiorul unei clase Java care va fi executat atunci când o clasă este mai întâi încărcat în JVM. Un bloc static ajută la inițializarea membrilor de date statice , la fel cum constructorii ajută la inițializarea membrilor instanței.

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

Următorul program este exemplul blocului static Java.

Exemplu: Cum se accesează blocul static

demo de clasă publică {static int a;static b;static {a = 10;b = 20;}public static main main (String args []) {System.out.println ("Valoarea a =" + a);System.out.println ("Valoarea lui b =" + b);}}

veți obține următoarea ieșire a programului.

Value of a = 10Value of b = 20