Statisk Java-metode, variabel og blok med eksempel

Indholdsfortegnelse:

Anonim

Den statiske kan være:

  1. Statiske variabler
  2. Statiske metoder
  3. Statiske koder.

Lad os først se på statiske variabler og statiske metoder.

Hvad er statisk variabel i Java?

Statisk variabel i Java er variabel, som hører til klassen og initialiseres kun en gang i starten af ​​udførelsen. Det er en variabel, der hører til klassen og ikke til objekt (forekomst). Statiske variabler initialiseres kun én gang i starten af ​​udførelsen. Disse variabler initialiseres først inden initialiseringen af ​​eventuelle instansvariabler.

  • En enkelt kopi, der skal deles af alle forekomster af klassen
  • En statisk variabel kan tilgås direkte ved hjælp af klassens navn og behøver ikke noget objekt

Syntaks:

< class-name>. 

Hvad er statisk metode i Java?

Statisk metode i Java er en metode, der hører til klassen og ikke til objektet. En statisk metode kan kun få adgang til statiske data. Det er en metode, der hører til klassen og ikke til objektet (instans). En statisk metode kan kun få adgang til statiske data. Det kan ikke få adgang til ikke-statiske data (instansvariabler).

  • En statisk metode kan kun kalde andre statiske metoder og kan ikke kalde en ikke-statisk metode fra den.
  • En statisk metode kan tilgås direkte ved hjælp af klassens navn og behøver ikke noget objekt
  • En statisk metode kan alligevel ikke henvise til "dette" eller "super" nøgleord

Syntaks:

< class-name>. 

Bemærk: Hovedmetoden er statisk, da den skal være tilgængelig for, at en applikation kan køre, inden nogen instantiering finder sted.

Lad os lære nuancerne i de statiske nøgleord ved at lave nogle øvelser!

Eksempel: Sådan kaldes statiske variabler og metoder

Trin 1) Kopier følgende kode til en editor

offentlig klasse demo {offentlig statisk ugyldig hoved (String args []) {Student s1 = ny student ();s1.showData ();Student s2 = ny student ();s2.showData ();//Student.b++;//s1.showData ();}}klasse Elev {int a; // initialiseret til nulstatisk int b; // initialiseret til nul kun når klasse er indlæst, ikke for hvert oprettet objekt.Studerende(){// Konstruktør, der øger den statiske variabel bb ++;}offentlig ugyldigt showData () {System.out.println ("Værdi af a =" + a);System.out.println ("Værdi af b =" + b);}// offentlig statisk tomrumsforøgelse () {// a ++;//}}

Trin 2) Gem & kompilér koden. Kør koden som, java Demo .
Trin 3) Forventet output vises nedenfor


Følgende diagram viser, hvordan referencevariabler og objekter oprettes, og der er adgang til statiske variabler af de forskellige forekomster.


Trin 4) Det er muligt at få adgang til en statisk variabel uden for klassen ved hjælp af syntaksen ClassName.Variable_Name . Kommentarlinje nr. 7 & 8. Gem, kompilér og kør. Overhold output.

Value of a = 0Value of b = 1Value of a = 0Value of b = 2Value of a = 0Value of b = 3
Trin 5) Kommentarlinje 25,26 & 27. Gem, kompilér og kør.
error: non-static variable a cannot be referenced from a static context a++;

Trin 6) Fejl =? Dette skyldes, at det ikke er muligt at få adgang til instansvariablen " a " fra java statisk klassemetode " inkrement ".

Hvad er statisk blokering i Java?

Den statiske blok er en udsagnsblok i en Java-klasse, der udføres, når en klasse først indlæses i JVM. En statisk blok hjælper med at initialisere de statiske datamedlemmer , ligesom konstruktører hjælper med at initialisere instansmedlemmer.

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

Følgende program er eksemplet på java statisk blok.

Eksempel: Sådan får du adgang til statisk blok

offentlig klasse demo {statisk int a;statisk int b;statisk {a = 10;b = 20;}offentlig statisk ugyldig hoved (String args []) {System.out.println ("Værdi af a =" + a);System.out.println ("Værdi af b =" + b);}}

du får følgende output af programmet.

Value of a = 10Value of b = 20