Razlika između statičkog i konačnog u Javi

Sadržaj:

Razlika između statičkog i konačnog u Javi
Razlika između statičkog i konačnog u Javi

Video: Razlika između statičkog i konačnog u Javi

Video: Razlika između statičkog i konačnog u Javi
Video: Walking water - Mali pokusi za veliko znanje 2024, Srpanj
Anonim

Ključna razlika – statička naspram finalne u Javi

Svaki programski jezik ima specifičnu sintaksu. Programer bi trebao slijediti ove sintakse kada piše programe. Ključne riječi programskih jezika imaju specifično značenje prema zadacima. Omogućuje ih programski jezik i ne mogu se koristiti za korisnički definirane varijable, metode, klase itd. Static i final su dvije ključne riječi u Javi. Ovaj članak govori o razlici između static i final 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 se final koristi za deklariranje konstantne varijable ili metode koja se ne može nadjačati ili klase koja ne može se naslijediti.

Što je statično u Javi?

Klasa se sastoji od podatkovnih članova (atributa) i metoda. Da bi se pozvale metode, trebao bi postojati objekt te specifične klase. Kada je metoda deklarirana kao statična, nije potrebno kreirati objekt za pozivanje te metode. Metoda se može pozvati korištenjem naziva klase. Pogledajte donji program.

Razlika između static i final u Javi
Razlika između static i final u Javi

Slika 01: Java program sa statičkim varijablama i statičkom metodom

Prema gornjem programu, klasa A sadrži varijablu broja i metodu prikaza. Oba su statični članovi. Stoga nije potrebno kreirati objekt za pristup varijabli broja i metodi prikaza. Programer može izravno napisati ime klase da ispiše broj i pozove prikaz metode. Dakle, nema potrebe za instanciranjem objekta. Ako su varijabla broja i metoda prikaza nestatične, tada bi trebao postojati objekt tipa A.

Razlika između statičkog i konačnog u Javi_Slika 02
Razlika između statičkog i konačnog u Javi_Slika 02

Slika 02: Upotreba statičkog bloka

Gornji program sadrži statički blok i glavnu metodu. Statički blok se poziva kada se klasa učita. Stoga se naredba u statičkom bloku izvršava prije naredbe u glavnom bloku. Ako postoji mnogo statičkih blokova, oni će se izvršavati u nizu.

Što je konačno u Javi?

U programu mogu postojati varijable raznih vrsta. Ako postoji varijabla kao int x=1; kasnije u programu ta vrijednost varijable se može promijeniti u neku drugu vrijednost. Varijabla koja je deklarirana kao konačna i inicijalizirana vrijednošću ne može se promijeniti kasnije u programu.

Razlika između static i final u Javi_Slika 03
Razlika između static i final u Javi_Slika 03

Slika 03: Program s konačnom varijablom i nasljeđivanjem

Prema gornjem programu, x je konačna varijabla. Dodijeljena mu je vrijednost 5. Ne može se promijeniti neka druga vrijednost jer je deklarirana kao konačna. Java podržava objektno orijentirano programiranje (OOP). Jedan stup OOP-a je polimorfizam. Jedna vrsta polimorfizma je nadjačavajući. Klasa A ima metodu prikaza. Klasa B proširuje klasu A i ima vlastitu metodu prikaza. Prilikom stvaranja objekta tipa B i pozivanja metode prikaza ispisat će se "B" kao izlaz. Metoda prikaza klase A nadjačana je metodom prikaza klase B.

Ako programer treba izbjegavati nadjačavanje metode, tada može koristiti konačnu ključnu riječ za tu metodu. Ako je metoda prikaza u klasi A konačna, metoda prikaza u B će dati pogrešku jer se ta metoda ne može nadjačati.

Razlika između static i final u Javi_Slika 04
Razlika između static i final u Javi_Slika 04

Slika 04: konačna ključna riječ u metodi

Još jedan stup OOP-a je nasljeđivanje. Pomaže ponovno korištenje već postojećeg koda. Nova klasa može se proširiti iz postojeće klase i koristiti članove podataka i metode postojeće klase. Ako je potrebno zaustaviti nasljeđivanje klase, programer može koristiti ključnu riječ 'final'. Pogledajte donji program.

Ke3y Razlika između static i final u Javi
Ke3y Razlika između static i final u Javi

Slika 05: konačna ključna riječ u klasi

Prema gore navedenom programu, klasa A se proglašava konačnom. Kada klasa B proširi A, daje pogrešku jer je klasa A deklarirana kao konačna. Ne mogu ga naslijediti druge klase.

Koja je sličnost između static i final u Javi?

Static i final ključne su riječi u Javi

Koja je razlika između static i final u Javi?

statičko vs konačno u Javi

Statična ključna riječ označava da se varijabli članu ili metodi može pristupiti bez potrebe za instanciranjem klase kojoj pripada. Konačna ključna riječ označava entitet koji se može dodijeliti samo jednom.
Varijable
Statičke varijable se mogu ponovno inicijalizirati. Konačne varijable ne mogu se ponovno inicijalizirati.
Metode
Mogu se pozvati drugim statičkim metodama i pristupati samo statičkim članovima klase. Konačne metode ne mogu se poništiti.
Razred
Statični objekt klase ne može se kreirati. Sadrži samo samo statične članove. Konačnu klasu ne mogu naslijediti druge klase.
Blokiraj
Statična ključna riječ može se koristiti u bloku. Konačna ključna riječ ne koristi se s blokom.

Sažetak – statički vs konačni u Javi

Ovaj članak govori o dvije ključne riječi u Javi kao što su static i final. Razlika između static i final u Javi je u tome što se static koristi za definiranje člana klase koji se može koristiti neovisno o bilo kojem objektu klase, dok se final koristi za deklariranje konstantne varijable ili metode koja se ne može nadjačati ili klase koja ne može biti naslijeđen.

Preporučeni: