Tämä blogi havainnollistaa staattisten lohkojen käyttöä Javassa.
Mitä ovat 'staattiset lohkot' Javassa?
Lohko on varattu nimellä ' staattinen ' liittämällä siihen staattinen avainsana. Näillä lohkoilla on korkeampi prioriteetti kuin ' pää 'sellaisena, että ne teloitetaan ennen' pää() ”menetelmä.
Syntaksi
luokkaMain {
staattinen {
Järjestelmä . ulos . println ( 'Hei maailma' ) ;
} }
Yllä olevassa syntaksissa mukana oleva lohko on määritetty ' staattinen ” ja se vedetään ennen pääosaa.
Tärkeitä huomioita 'staattisista lohkoista'
- Staattiset lohkot Javassa kutsutaan automaattisesti, kun luokka ladataan muistiin.
- Nämä suoritetaan vain kerran, vaikka luotaisiin useita luokkaobjekteja.
- Staattisten alustuslohkojen määrälle luokassa ei ole rajoituksia.
- Näitä lohkoja voidaan käyttää myös staattisten muuttujien alustamiseen.
Esimerkki 1: 'Staattisten lohkojen' käyttö Javassa
Tässä esimerkissä staattista lohkoa voidaan käyttää tarkkailemaan järjestystä, jossa se voidaan suorittaa suhteessa main:
publicclass Esimerkki {
staattinen {
Järjestelmä . ulos . println ( 'Tämä on staattinen lohko!' ) ;
}
publicstaticvoidmain ( merkkijono [ ] args ) {
Järjestelmä . ulos . println ( 'Tämä on pääasia!' ) ;
} }
Lisää yllä olevaan koodilohkoon ' staattinen ” lohko, joka kerää ilmoitetun viestin ja näytä seuraavassa vaiheessa annettu viesti kohdassa ” pää ”.
Lähtö
Tässä lähdössä voidaan analysoida, että staattinen lohko vedetään ennen main.
Esimerkki 2: Staattisen arvon suorittaminen Javassa 'Static Block':ssa
Tässä nimenomaisessa kuvassa staattinen arvo voidaan alustaa staattiseen lohkoon ja näyttää myöhemmin pääikkunassa:
luokan mukautettua {staattinen i ;
staattinen {
i = 10 ;
Järjestelmä . ulos . println ( 'Staattinen lohko kutsutaan!' ) ;
} }
publicclass Esimerkki {
publicstaticvoidmain ( merkkijono [ ] args ) {
Järjestelmä . ulos . println ( mukautettu. i ) ;
} }
Yllä olevilla koodiriveillä:
- Luo ensin luokka nimeltä ' mukautettu ”.
- Määritä luokassa ' staattinen 'muuttuja ja alusta se allokoituun' staattinen ” lohko.
- Lopuksi kutsu alustettu muuttuja pääosassa viittaamalla luokkaan, johon se sisältyy.
Lähtö
Yllä olevasta tuloksesta voidaan nähdä, että myös ' staattinen ” -lohko suoritetaan ensin, ja myös tämän lohkon alustettu arvo näytetään vastaavasti.
Esimerkki 3: 'Staattisen lohkon' suorittaminen ennen konstruktoria
Tässä esimerkissä staattinen lohko voidaan määrittää ennen konstruktoria, ja sen ensisijaisuutta ja suoritusta voidaan tarkkailla sen mukaisesti:
luokan mukautettua {staattinen {
Järjestelmä . ulos . println ( 'Tämä on staattinen lohko' ) ;
}
mukautettu ( ) {
Järjestelmä . ulos . println ( 'Tämä on rakentaja' ) ;
} }
publicclass Esimerkki {
publicstaticvoidmain ( merkkijono [ ] args ) {
mukautettu obj1 = Uusi mukautettu ( ) ;
mukautettu obj2 = Uusi mukautettu ( ) ;
} }
Yllä olevilla koodiriveillä:
- Samoin määritä luokka nimeltä ' mukautettu ”.
- Määritä nyt ' staattinen ' -lohko ja sisällytä luokan rakentaja, eli ' mukautettu() ', joilla on vastaavasti mainitut viestit.
- Luo pääasiallisesti kaksi luodun luokan objektia kutsuaksesi luokan toimintoja tärkeysjärjestyksessä vastaavasti.
Lähtö
Tässä tulosteessa voidaan ottaa huomioon seuraavat näkökohdat:
- Staattiselle lohkolle on annettu korkeampi etuoikeus verrattuna sisällytettyyn konstruktoriin.
- Luokan kaksi objektia luodaan, mutta staattinen lohko suoritetaan kerran, kuten aiemmin kerrottiin.
Johtopäätös
' staattiset lohkot ' Javassa suoritetaan vain kerran, kun luokka ladataan muistiin ja suoritetaan ennen ' pää() ”menetelmä. Artikkelissa käsitellyt esimerkit osoittavat, että näillä lohkoilla on korkeampi prioriteetti kuin vastaavasti pää- ja luokkakonstruktorilla, ja niitä kutsutaan vain kerran, riippumatta luotujen objektien määrästä. Tässä blogissa käsiteltiin staattisten lohkojen käyttöä Javassa.