Razlika između statičkog i konačnog u Javi
Sadržaj
Statična i konačna su i ključne riječi koje se koriste u Javi. Statičkom članu može se pristupiti prije stvaranja objekta klase. Final ima drugačiji učinak kada se primjenjuje na klasu, metode i varijable. Glavna razlika između statičke i završne ključne riječi je u tome statički je ključna riječ koristi se za definiranje člana klase koji se može koristiti neovisno o bilo kojem objektu te klase. konačni ključna riječ koristi se za deklariranje, konstantna varijabla, metoda koja se ne može preglasiti i klasa koja se ne može naslijediti.
- Usporedni grafikon
- definicija
- Ključne razlike
- Zaključak
Usporedni grafikon
Osnove za usporedbu | Statički | konačni |
---|---|---|
primjenjivo | Statička ključna riječ primjenjiva je na ugniježđenu statičku klasu, varijable, metode i blok. | Konačna ključna riječ primjenjiva je na klasu, metode i varijable. |
Inicijalizacija | Statička varijabla nije obvezna inicijalizirati u trenutku njene deklaracije. | Konačnu varijablu obvezno je inicijalizirati u trenutku njene deklaracije. |
Modifikacija | Statička varijabla može se ponovno inicijalizirati. | Konačna varijabla ne može se ponovno inicijalizirati. |
metode | Statičkim metodama može se pristupiti samo statičkim članovima klase, a mogu se pozivati samo ostalim statičkim metodama. | Završne metode se ne mogu naslijediti. |
klasa | Objekt statičkih klasa ne može se stvoriti i on sadrži samo statičke članove. | Konačnu klasu ne može naslijediti nijedna klasa. |
Blok | Statički blok koristi se za inicijalizaciju statičkih varijabli. | Konačna ključna riječ ne podržava takav blok. |
Definicija statičkog
Statička je ključna riječ, primjenjiva na klase, varijable, metode i blokove. Članovi klase, klasa i blokovi mogu se načiniti statičkim korištenjem ključne riječi „statično“ ispred imena članova klase, klase i blokova. Kada se član klase proglasi statičkim, postaje globalni za sve ostale članove klase. Statički član klase ne zauzima memoriju na osnovi primjerice, tj. Svi objekti dijele istu kopiju statičkog člana. Statički član može se koristiti neovisno o bilo kojem objektu te klase. Statičkom članu klase možete pristupiti prije nego što se njegov objekt stvori. Najbolji primjer statičkog člana je main () metoda, proglašava se statičkim tako da se može pozvati prije nego što postoji bilo koji objekt. Opći obrazac za pristup statičkom članu klase:
class_name.static_member // pristup statičkom članu klase
Gornji kod class_name je ime klase u kojoj je definiran static_member. Statički član može biti statička varijabla ili statička metoda
Statičke varijable:
- Statička varijabla djeluje poput globalne varijable za sve ostale članove podataka klase.
- Statičkoj varijabli može se pristupiti prije nego što postoji bilo koji objekt klase.
- Statičkoj varijabli može se pristupiti sa nazivom klase u kojoj je definirano, a zatim slijedi operator dot (.).
Statičke metode:
- Statička metoda može pozvati samo ostale statičke metode.
- Statička metoda može pristupiti samo statičkim podacima.
- Statička metoda se ne može odnositi na "ovo" ili "super" ni pod kojim uvjetima.
- Statičkoj metodi može se pristupiti sa nazivom klase u kojoj je definirano, a zatim slijedi operator dot (.).
Statička klasa:
- Java ima koncept ugniježđene statičke klase. Vanjska klasa se ne može učiniti statičkim, dok se unutarnja klasa može učiniti statičkom.
- Statična ugniježđena klasa ne može pristupiti nestatičkom članu vanjske klase.
- Pristup može samo statičkim članovima vanjske klase.
Statički blok:
Statički blok se izvodi samo jednom kad se učitava klasa. Koristi se za inicijalizaciju statičkih varijabli klase.
C ++:
U C ++ imamo pojam statičkih varijabli kao i statičke funkcije, dok, C ++ ne podržavaju statičku klasu.
C #:
C # podržava statičku klasu, statičke varijable i statičku klasu također.
Java:
Java podržava statičku ugniježđenu klasu, statičke varijable, statičke metode.
Definicija konačnog
Final je ključna riječ primjenjiva na klasu, varijablu i metode. Klasa, varijabla i metoda proglašavaju se konačnom pomoću ključne riječi "final" kojoj prethodi njihov naziv. Jednom kada se varijabla proglasi konačnom; ne može se dalje mijenjati u programu. Konačna varijabla mora se inicijalizirati u deklaraciji vremena. Konačne varijable ne zauzimaju memoriju po instanci. Svi objekti klasa dijele istu kopiju finalne varijable.
Metoda koja je deklarirana kao konačna ne može se nadjačati potklasaju one klase u kojoj je konačna metoda deklarirana. Kada je klasa proglašena konačnom, druga klasa ne može naslijediti tu klasu. C ++, C # ne podržavaju koncept ako konačna ključna riječ. Java podržava koncept završne ključne riječi i na Javi; klasa, varijabla i metoda mogu se proglasiti konačnim.
- Statička ključna riječ primjenjiva je na ugniježđenu statičku klasu, varijable, metode i blokove. S druge strane, konačna ključna riječ primjenjiva je na metode klase i varijable.
- Statička varijabla može se inicijalizirati u bilo kojem trenutku dok konačna varijabla mora biti inicijalizirana u trenutku deklaracije.
- Statička varijabla može se ponovno inicijalizirati dok se jednom, inicijalizirana konačna varijabla, nikada ne može ponovno inicijalizirati.
- Statička metoda može pristupiti statičkom članu klase i može se pozvati samo ostalim statičkim metodama. S druge strane, konačnu metodu nikada ne može naslijediti nijedna klasa.
- Statički blok koristi se za inicijalizaciju statičkih varijabli dok, konačna ključna riječ ne podržava nijedan blok.
Zaključak:
Statička i konačna ključna riječ rješavaju različite namjene kada se primjenjuju na klasu, varijablu i metodu.