Beste svaret
statisk blokk {}
- statiske blokker brukes til å initialisere de statiske dataene i klassen, det skaper statiske ressurser.
- statiske blokker utføres bare en gang, så snart klassen er lastet inn i minnet.
- statiske blokker utføres før hovedmetoden () av JavaClass loader.
- En klasse kan ha flere statiske blokker, som vil kjøres i samme rekkefølge som de er skrevet inn i programmet .
- statisk {}, den utføres hver gang når klassen lastes.
- Vi kan ikke skrive statiske blokker i en statisk metode og ikke-statisk metode (statiske blokker skrives separat )
- Bare statiske variabler kan være tilgjengelige i en statisk blokk.
- Vi kan kalle en statisk metode inne i en statisk blokk.
- Vi kan ikke lage noen metoder inne statisk blokk.
- Ikke-statiske variabler og ikke-statiske metoder kan ikke være tilgjengelige i en statisk blokk.
- Hvis du prøver å få tilgang til ikke-statiske variabler eller metoder i en statisk blokk, gir det en kompileringstidsfeil,
Kan ikke referere statisk til den ikke-statiske metoden wow () fra typen staticblock
Tenk på eksemplet nedenfor for statisk blokk.
- Det er en statisk blokk {} inne i en klasse.
- Det er to statiske variabler «ss, j» erklært, der de er tilgjengelige i statisk metode og i statisk blokk
- En statisk metode disp (), skrives og skriver ut den statiske variabelen i den.
- Denne metoden blir kalt inne i en statisk blokk {}
- statiske variabler og statiske metoder kan være bare tilgjengelig i en statisk blokk
public class staticblock {
static int ss=23; // initialize the static variable with value;
public static void disp() {
System.out.println("runnin static block before main method");
System.out.println("Value inside static method is "+ss);
}
static int j;
static // static block
{
j=8;
System.out.println("static block is invoked with the value"+j); // access the static variable inside static block
disp(); // calling the static method inside static block
}
public static void main(String[] args) {
}
}
sjekk utdata
statisk blokk påkalles med verdien 8
runnin statisk blokk før hovedmetoden
Verdi i statisk metode er 23
Svar
Statiske blokker kalles også som Statiske initialiseringsblokker , kan en klasse ha et hvilket som helst antall statiske blokker, og de kan vises hvor som helst i Java-klassen.
Denne blokken blir utført når klassen er lo aded i minnet. Java kjøretidssystem garanterer at statiske initialiseringsblokker kalles i den rekkefølgen de vises i kildekoden.
Eksempel:
public class Solution{
static {
System.out.println("Static block - 1");
}
static {
System.out.println("Static block - 2");
}
public static void main(String[] args){
System.out.println("Main Method");
}
static {
System.out.println("Static block - 3");
}
}
Utgang:
Static block - 1
Static block - 2
Static block - 3
Main Method