Konstant on a muutuja mille väärtus ei saa pärast selle määramist muutuda. Java ei oma konstantide sisseehitatud tuge, vaid muutuja modifikaatoreid staatiline ja lõplik saab selle efektiivseks loomiseks kasutada.
Konstandid muudavad teie programmi teiste jaoks hõlpsamaks lugemiseks ja mõistmiseks. Lisaks on JVM ja teie rakendus vahemällu puhverdanud, nii et konstandi kasutamine võib toimivust parandada.
Staatiline modifikaator
See võimaldab muutujat kasutada ilma esiteks eksemplari looma klass; staatiline klassiliige seostatakse pigem klassi endaga kui objektiga. Kõigil klassi esinemisjuhtudel on sama muutuja koopia.
See tähendab, et mõni muu rakendus või peamine () saab seda hõlpsalt kasutada.
Näiteks klass myClass sisaldab staatilist muutujat days_in_week:
avaliku klassi myClass {
staatiline int päeva_nädal = 7;
}
Sest see muutuja on staatiline, saab seda mujal kasutada ilma MyClassi objekti selgesõnaliselt loomata:
avalik klass myOtherClass {
staatiline tühine pea (string [] args) {
System.out.println (myClass.days_in_week);
}
}
Lõplik modifikaator
Lõplik modifikaator tähendab, et muutuja väärtus ei saa muutuda. Kui väärtus on määratud, ei saa seda uuesti määrata.
Primitiivsed andmetüübid (st int, lühike, pikk, byte, char, float, double, boolean) saab muuta lõpliku modifikaatori abil muutumatuks / muutmatuks.
Need modifikaatorid loovad koos konstantse muutuja.
staatiline lõplik int DAYS_IN_WEEK = 7;
Pange tähele, et pärast kuupäeva lisamist kuulutasime DAYS_IN_WEEK kõigis suurtähtedes lõplik modifikaator. See on Java programmeerijate seas pikaajaline tava määratleda konstantsed muutujad kõigis suurtähtedes ja eraldada sõnad alakriipsudega.
Java ei vaja seda vormindamist, kuid see teeb koodi lugemise hõlpsamaks kohe tuvasta konstant.
Võimalikud probleemid püsivate muutujatega
Viimane märksõna töötab Java-s nii, et muutuja väärtus ei saa muutuda. Kordame seda: osuti ei saa muuta asukohta, millele see osutab.
Ei ole mingit garantiid, et viidatav objekt jääb samaks, ainult et muutuja hoiab alati viidet samale objektile. Kui viidatud objekt on muudetav (st tal on väljad, mida saab muuta), võib konstantmuutuja sisaldada muud väärtust kui see, mis algselt määrati.