logo

Razlika između statičkih i nestatičkih u Javi

Kako bismo shvatili kako klase, varijable i metode funkcioniraju u Javi, ključno je razumjeti pojmove statičnosti i nestatičnosti. Nestatični članovi povezani su s određenim instancama klase, dok su statični članovi povezani s klasom. U ovom odjeljku usporedit ćemo statičke i nestatične Java komponente, ističući njihove razlike i potencijalne primjene.

Povezano s

Statički: Statički članovi (varijable i metode) pridruženi su samoj klasi, a ne pojedinačnim instancama.

java varijabla varijabla

Nestatično: Nestatički članovi specifični su za svaku instancu klase jer su vezani za objekte stvorene iz klase.

Dodjela memorije

Statički: Statičkim članovima memorija se dodjeljuje samo jednom, u trenutku učitavanja klase. Dijele se među svim instancama klase.

Nestatično: Nestatičnim članovima memorija je zasebno dodijeljena za svaku instancu klase. Svaki objekt ima vlastitu kopiju nestatičkih članova.

vlc preuzimanje youtube videa

Pristup

Statički: Statičkim članovima može se pristupiti izravno pomoću naziva klase iza kojeg slijedi naziv člana (npr. ClassName.memberName). Dostupni su s bilo kojeg mjesta unutar programa.

Nestatično: Nestatičnim članovima se pristupa pomoću reference objekta iza koje slijedi naziv člana (npr. objectReference.memberName). Oni su specifični za određenu instancu klase.

Inicijalizacija

Statički: Statički članovi se inicijaliziraju kada se klasa učita u memoriju, obično tijekom pokretanja programa. Inicijalizacija se događa samo jednom.

Nestatično: Nestatički članovi se inicijaliziraju kada se kreira svaka instanca klase, obično koristeći novu ključnu riječ. Inicijalizacija se događa zasebno za svaki objekt.

Opseg

Statički: Statički članovi imaju globalni opseg i može im se pristupiti s bilo kojeg mjesta unutar programa, čak i bez stvaranja instance klase.

Nestatično: Nestatički članovi imaju lokalni opseg i može im se pristupiti samo kroz instancu klase. Nisu im dostupni bez stvaranja objekta.

git pull sintaksa

Pristup članovima

Statički: Statički članovi mogu pristupiti samo drugim statičkim članovima unutar iste klase. Ne mogu izravno pristupiti nestatičnim članovima.

Nestatično: Nestatični članovi mogu pristupiti i statičnim i nestatičnim članovima unutar iste klase. Imaju izravan pristup svim članovima.

Korištenje

Statički: Statički članovi se obično koriste za korisne metode, konstante ili varijable koje nisu specifične za pojedinačne instance. Na primjer, klasa Math koja sadrži matematičke funkcije.

multipleksiranje

Nestatično: Nestatički članovi koriste se za ponašanje specifično za instancu, jer sadrže podatke specifične za svaki objekt. Na primjer, varijable instance koje pohranjuju jedinstvene vrijednosti za svaki objekt.

Učinkovitost pamćenja

Statički: Statički članovi troše memoriju samo jednom, bez obzira na broj stvorenih instanci. Oni mogu biti memorijski učinkoviti kada se isti podaci moraju dijeliti među svim objektima.