Paras vastaus
staattinen lohko {}
- staattisia lohkoja käytetään luokan staattisten tietojen alustamiseen, se luo staattisia resursseja.
- staattisia lohkoja suoritetaan vain kerran, heti kun luokka ladataan muistiin.
- staattiset lohkot suoritetaan ennen main () -menetelmää JavaClass-latauslaitteella.
- Luokalla voi olla useita staattisia lohkoja, jotka suoritetaan samassa järjestyksessä kuin ne on kirjoitettu ohjelmaan .
- staattinen {}, se suoritetaan joka kerta, kun luokka latautuu.
- Emme voi kirjoittaa staattisia lohkoja staattisen menetelmän ja ei-staattisen menetelmän sisään (staattiset lohkot kirjoitetaan erikseen )
- Vain staattiset muuttujat voivat olla käytettävissä staattisen lohkon sisällä.
- Voimme kutsua staattista menetelmää staattisen lohkon sisällä.
- Emme voi luoda mitään menetelmiä sisälle staattinen lohko.
- Ei staattisia muuttujia ja ei-staattisia menetelmiä ei voida käyttää a: n sisällä staattinen lohko.
- Jos yrität käyttää ei-staattisia muuttujia tai menetelmiä staattisen lohkon sisällä, se antaa kääntöaikavirheen,
Ei voi tehdä staattista viittausta ei-staattiseen menetelmään wow () staattisen eston tyypistä
Harkitse alla olevaa esimerkkiä staattisesta lohkosta.
- Luokan sisällä on yksi staattinen lohko {}.
- On ilmoitettu kaksi staattista muuttujaa ”ss, j”, joissa niihin pääsee staattisen menetelmän sisällä ja staattisessa lohkossa
- Staattinen menetelmä disp () kirjoitetaan ja tulostaa staattisen muuttujan sen sisälle.
- Tätä menetelmää kutsutaan staattisen lohkon sisään {}
- staattisia muuttujia ja staattisia menetelmiä voidaan kutsua käytettävissä vain staattisen lohkon sisällä
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) {
}
}
tarkista lähtö
staattinen lohko kutsutaan arvolla8
staattinen staattinen lohko ennen päämenetelmää
Staattisen menetelmän sisällä oleva arvo on 23
Vastaus
Staattisia lohkoja kutsutaan myös nimellä Staattiset alustuslohkot , luokassa voi olla mikä tahansa määrä staattisia lohkoja ja ne voivat näkyä missä tahansa java-luokan sisällä.
Tämä lohko suoritetaan kun luokka aded muistiin. Java-ajonaikainen järjestelmä takaa, että staattiset alustuslohkot kutsutaan siinä järjestyksessä kuin ne esiintyvät lähdekoodissa.
Esimerkki:
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");
}
}
Tulos:
Static block - 1
Static block - 2
Static block - 3
Main Method