Razlika između konačnog i statičkog

U matematici i znanosti konstanta je pojam koji označava određenu vrijednost kao što je 'π' što je praktični naziv za broj 3,14159. Java ima svoje vrste konstanti. To su varijable koje pod (a) ne pripadaju nijednom objektu, a pod (b) ne mijenjaju vrijednost nakon što su postavljene. Statična riječ u deklaraciji varijable pokazuje da varijabla ne pripada nijednom objektu. Postoji slična ključna riječ koja kaže da će se vrijednost varijable postaviti samo jednom i neće se mijenjati. Ovo je ključna riječ final. Ova ključna riječ nije ograničena na statičke varijable, ali se može koristiti s varijablama instance, lokalnim varijablama, pa čak i s varijablama koje su metode parametara. Deklarirajući varijablu kao konačnu, pokazujete svima da će varijabla tijekom postojanja imati istu vrijednost. Što je još važnije, prevodilac će otkriti svaki pokušaj promjene vrijednosti tako deklarirane varijable i prijaviti je kao pogrešku. Što se tiče Java terminologije, varijabla koja je deklarirana kao statična i konačna naziva se konstanta.



Što je konačno?

Konačni modifikator može se koristiti na nekoliko mjesta u programskom jeziku Java. Ovdje ćemo pokriti njegovu najčešću uporabu. Konačni modifikator može se primijeniti na deklaraciju lokalne varijable, argumenta funkcije i nestatičnih ili statičkih varijabli člana. U tom kontekstu, modifikator varijable pretvara se u konstantu. Prevoditelj jezika prijevoda provjerit će pokušava li neki kôd izmijeniti vrijednost, a takvi će pokušaji biti označeni kao pogreška. Evo primjera.



konačna int vrijednost = 17;

Statičke varijable člana s ovim modifikatorom koriste se kao globalne konstante; na primjer, u java.lang.Math varijabli PI, točno je navedeno



javni statički konačni dvostruki PI = 3,14159265358979323846;

Konačni modifikator možemo primijeniti na deklaraciju funkcije. Funkcija označena završnicom više se ne može nadjačati - to je njezina konačna implementacija. Apstraktne metode ne mogu se proglasiti konačnima - činjenica da su apstraktne znači da im nedostaje provedbe; to sigurno ne može biti njihovo konačno stanje. Evo primjera.

javni konačni int meanLife () {



povratak 42;

}

Konačni modifikator možemo primijeniti na deklaraciju klase. Klasa koja je označena završnicom više ne može nasljeđivati ​​- to je njezina konačna implementacija. Jasno je da apstraktna nastava ne može biti konačna u isto vrijeme. Evo primjera

javni završni tečaj Zatvoreno {

// ...

}

Jedan od konačnih primjera klase je klasa java.lang.String - konačna je tako da je nitko ne može naslijediti i tako dobiti pristup varijablama svojih članova.

Što je Static?

Statičke varijable ne pripadaju određenom primjeru klase. Statičke varijable pripadaju samoj klasi i u memoriji postoji samo jedno mjesto, bez obzira na broj kopija te klase koje su stvorene u memoriji. Nestatičke varijable pripadaju primjercima klase - svaka instanca klase ima vlastitu kopiju takvih varijabli. Statičke varijable pripadaju klasi - klasa u memoriji čuva vrijednosti takvih varijabli; sve klase uzoraka stoga vide isti sadržaj pa možemo smatrati da statičke varijable dijele sve veličine klasa. Ažuriranjem varijable vrijednosti nova vrijednost bit će automatski vidljiva svim instancama te klase. Statički filtar može se primijeniti na bilo koji element legalno deklariran u klasi. U slučaju varijabli članstva, posljedica je da će se takve varijable člana pohraniti u memoriju samo na jednom mjestu. Što se događa ako se radi o metodi? Deklariranjem metode kao statične, poruka je ista: relevantna metoda ne pripada razredima klasa već samoj klasi. Slijedom toga, statičke metode neće primiti skrivenu referencu na objekt preko kojeg su pozvane na poziv; u statičkim referentnim metodama to nije dostupno. Zapravo, pozivanje statičkih metoda preko objekta jednako je zbunjujuće kao i pristup varijablama statičkih članova pozivanjem na ovu referencu: u oba slučaja, bolje je jednostavno napisati ime klase, točku i ime metode pozivanja.

Razlika između konačnog i statičkog

  1. Promjenjiva

Static označava varijablu koja je zajednička svim objektima koji instanciraju određenu klasu, dok final definira konstantu.

  1. Metoda

Statička je metoda koja je ista za svaki objekt koji ima klasu - naziva se i članom klase, na pr. takva je glavna metoda. Konačna metoda ne može se obraditi u naslijeđenoj klasi.

  1. Razred

Konačni se ne može proširiti, tj. Ne dopušta potklase. Statička se ne odnosi na nastavu.

  1. Vrijednost

Pojednostavljeno, final je označavao da se vrijednost ne može mijenjati (poništiti). Statička vrijednost postavljena je na zadanu vrijednost, ali se može ponovno pokrenuti.

Konačno vs statično: Tablica usporedbe

Sažetak konačnog i statičkog

  • Ključ static static omogućuje pristup čak i kada nema objekta (instance). Istaknute klase deklariraju se pomoću ključne riječi static. Ako ne želite da vrijednost nekih promjena kasnije u programu ide ili ako želite da ih prevoditelj provjeri i zabrani, možete to obećanje promijeniti u konačno. Postoji statički blok za inicijalizaciju. Statički blok za inicijalizaciju deklariran je kao ključni statički ispred zagrada. Ova vrsta bloka izvodi se jednom, tijekom čitanja predavanja, i obično inicijalizira statičke članove klase.

Popularni Postovi

Razlika između NHS-a i privatnih zubara

NHS protiv privatnih zubara Nitko se nikada ne raduje posjetiti stomatologa radi punjenja, ali ako želite imati blistav osmijeh, nužno je zlo koje vam treba

Putovanje kroz vrijeme: u alpskoj tvrđavi nacista

Putopiska Heidi Fuller-love istražuje suprotstavljanje alpske ljepote Obersalzburga i nacističke prošlosti njemačkog grada

Razlika između kreatina i kreatinina

Što su kreatin i kreatinin? Kreatin i kreatinin su dva proteina koja se nalaze u krvi u tijelu. I kreatin i kreatin su u homeostazi, u

Razlika između knjižnice i okvira

Odabir pravog alata ili tehnologije za određeni problem jedan je od najvažnijih aspekata programiranja. Pravi alat je ključ uspjeha projekta.

Razlika između Nikad i Nikad

Never vs Ever 'Ever' i 'never' su suprotnosti jedno drugome i imaju različite upotrebe u engleskom jeziku. 'Nikad' se uglavnom koristi u izjavama, dok

Pregled igre: Panzer Corps Wehrmacht, Slitherine / Matrix Games

Panzer Corps Wehrmacht jedan je od klasičnih strateških igara temeljenih na hex-u starih vremena.