Ključna razlika - statički vs konačni u Javi
Svaki programski jezik ima određenu sintaksu. Programer bi trebao slijediti ove sintakse prilikom pisanja programa. Ključne riječi programskih jezika imaju specifična značenja prema zadacima. Njih pruža programski jezik i ne mogu se koristiti za korisnički definirane varijable, metode, klase itd. Statička i završna riječ dvije su ključne riječi u Javi. Ovaj članak govori o razlici između statičkog i konačnog u Javi. Ključna razlika između static i final u Javi je ta što se static koristi za definiranje člana klase koji se može koristiti neovisno o bilo kojem objektu klase, dok final koristi za deklariranje konstante varijable ili metode koja se ne može nadjačati ili klase koja ne može se naslijediti.
SADRŽAJ
1. Pregled i ključna razlika
2. Što je statično u Javi
3. Što je konačno u Javi
4. Sličnosti između statičkog i završnog u Javi
5. Usporedna usporedba - statičko u odnosu na konačno u Javi u tabličnom obliku
6. Sažetak
Što je statično u Javi?
Klasa se sastoji od članova podataka (atributa) i metoda. Da bi se pozvale metode, trebao bi postojati objekt te određene klase. Kada je metoda deklarirana kao statična, nije potrebno stvoriti objekt za pozivanje te metode. Metoda se može nazvati pomoću naziva klase. Pogledajte donji program.
Slika 01: Java program sa statičkim varijablama i statičkom metodom
Prema gornjem programu, klasa A sadrži varijablu broja i način prikaza. Oboje su statični članovi. Stoga nije potrebno stvoriti objekt za pristup brojčanoj varijabli i načinu prikaza. Programer može izravno napisati naziv klase za ispis broja i za pozivanje prikaza metode. Dakle, nema potrebe za instancijom objekta. Ako su numerička varijabla i metoda prikaza nestatični, tada bi trebao postojati objekt tipa A.
Slika 02: Upotreba statičkog bloka
Gornji program sadrži statički blok i glavnu metodu. Statički blok poziva se kada se učita klasa. Stoga se izraz u statičkom bloku izvršava prije izraza u glavnom bloku. Ako ima mnogo statičkih blokova, izvršavat će se u slijedu.
Što je konačno u Javi?
U programu mogu postojati varijable različitih vrsta. Ako postoji varijabla kao int x = 1; kasnije u programu, ta se varijabilna vrijednost može promijeniti u neku drugu vrijednost. Varijabla koja je proglašena konačnom i inicijalizirana vrijednošću ne može se kasnije mijenjati u programu.
Slika 03: Program s konačnom varijablom i nasljeđivanjem
Prema gornjem programu, x je konačna varijabla. Dodjeljuje joj se vrijednost 5. Ne može se promijeniti neka druga vrijednost jer je proglašena konačnom. Java podržava objektno orijentirano programiranje (OOP). Jedan stup OOP-a je polimorfizam. Jedna od vrsta polimorfizma je nadmoćna. Klasa A ima način prikaza. Klasa B proširuje klasu A i ona ima vlastiti način prikaza. Prilikom stvaranja objekta tipa B i pozivanja metode prikaza ispisat će se "B" kao izlaz. Način prikaza klase A nadjačan je načinom prikaza klase B.
Ako programer što treba izbjeći nadjačavanje metode, tada za tu metodu može upotrijebiti završnu ključnu riječ. Ako je metoda prikaza u klasi A konačna, metoda prikaza u B dat će pogrešku jer se ta metoda ne može nadjačati.
Slika 04: završna ključna riječ u Metodi
Drugi stup OOP-a je nasljeđivanje. Pomaže u ponovnoj upotrebi već postojećeg koda. Nova klasa može se proširiti od postojeće klase i koristiti članove podataka i metode postojeće klase. Ako je potrebno zaustaviti nasljeđivanje klase, programer može upotrijebiti ključnu riječ 'final'. Pogledajte donji program.
Slika 05: završna ključna riječ u razredu
Prema gornjem programu, klasa A proglašava se konačnom. Kada se klasa B proširi A, to daje pogrešku jer je klasa A proglašena konačnom. Ne mogu ga naslijediti druge klase.
Koja je sličnost između statičkog i konačnog u Javi?
I statične i završne riječi su ključne riječi u Javi
Koja je razlika između statičkog i konačnog u Javi?
Diff Article Sredina prije tablice
statički vs konačni u Javi |
|
Ključna riječ Static označava da se varijabli člana ili metodi može pristupiti bez potrebe za instancijom klase kojoj pripada. | Završna ključna riječ označava entitet koji se može dodijeliti samo jednom. |
Varijable | |
Statičke varijable mogu se ponovno inicijalizirati. | Konačne varijable ne mogu se ponovno inicijalizirati. |
Metode | |
Može se pozvati drugim statičkim metodama i pristupiti samo statičkim članovima klase. | Konačne metode se ne mogu nadjačati. |
Razred | |
Objekt statičke klase nije moguće stvoriti. Sadrži samo statičke članove. | Konačnu klasu ne mogu naslijediti druge klase. |
Blok | |
Ključna riječ static može se koristiti u bloku. | Završna ključna riječ ne koristi se s blokom. |
Sažetak - statički vs konačni u Javi
Ovaj je članak raspravljao o dvije ključne riječi u Javi, kao što su static i final. Razlika između static i final u Javi je ta što se static koristi za definiranje člana klase koji se može koristiti neovisno o bilo kojem objektu klase, dok final koristi za deklariranje konstante varijable ili metode koju nije moguće poništiti ili klase koja ne može biti naslijeđen.