Vakio on a muuttuja joiden arvo ei voi muuttua, kun se on määritetty. Jaava ei ole sisäänrakennettua tukea vakioille, mutta muuttujan modifikaattorit staattinen ja lopullinen voidaan luoda tehokkaasti.
Vakiot voivat tehdä ohjelmasi helpommin luettavaksi ja ymmärrettäväksi muille. Lisäksi vakio on välimuistissa JVM: n ja sovelluksesi välityksellä, joten vakion käyttäminen voi parantaa suorituskykyä.
Staattinen muunnin
Tämä sallii muuttujan käytön luomatta ensin luokka; staattinen luokan jäsen on liitetty itse luokkaan objektin sijasta. Kaikki luokan esiintymät jakavat saman kopion muuttujasta.
Tämä tarkoittaa, että toinen sovellus tai pää () voi käyttää sitä helposti.
Esimerkiksi luokka myClass sisältää staattisen muuttujan days_in_week:
julkinen luokka myClass {
staattinen int päivää_viikko = 7;
}
Koska tämä muuttuja on staattinen, sitä voidaan käyttää muualla ilman erillistä myClass-objektin luomista:
julkinen luokka myOtherClass {
staattinen tyhjä pää (merkkijono [] merkitsee) {
System.out.println (myClass.days_in_week);
}
}
Lopullinen muokkain
Lopullinen modifikaattori tarkoittaa, että muuttujan arvo ei voi muuttua. Kun arvo on määritetty, sitä ei voida määrittää uudelleen.
Primitiiviset tietotyypit (ts. int, lyhyt, pitkä, tavu, char, float, double, boolean) voidaan tehdä muuttumattomaksi / muuttumattomaksi lopullista modifikaattoria käyttämällä.
Yhdessä nämä muokkaimet luovat vakion muuttujan.
staattinen lopullinen int DAYS_IN_WEEK = 7;
Huomaa, että julistimme DAYS_IN_WEEK kaikilla korkeilla, kun lisäsimme lopullinen muokkaaja. Java-ohjelmoijien keskuudessa se on pitkäaikainen käytäntö määritellä vakiomuuttujat kaikissa kirjaimissa ja erottaa sanat alaviivoilla.
Java ei vaadi tätä muotoilua, mutta sen avulla jokaisen koodin lukevan on helppoa välittömästi tunnistaa vakio.
Pysyvien muuttujien mahdolliset ongelmat
Tapa, jolla lopullinen avainsana toimii Java-järjestelmässä, on, että muuttujan osoitin arvoon ei voi muuttua. Toistetaan: osoitin, joka ei voi muuttaa osoitettua sijaintia.
Ei ole mitään takeita siitä, että viitattava objekti pysyy samana, vain että muuttujalla on aina viittaus samaan esineeseen. Jos viitattu objekti on muutettavissa (ts. Siinä on kenttiä, joita voidaan muuttaa), niin vakiomuuttuja voi sisältää muun arvon kuin mitä alun perin määritettiin.