Da bi razumeli, kako razredi, spremenljivke in metode delujejo v Javi, je ključnega pomena razumeti pojma statičnega in nestatičnega. Nestatični člani so povezani z določenimi primerki razreda, medtem ko so statični člani povezani z razredom. V tem razdelku bomo primerjali statične in nestatične komponente Java ter poudarili njihove razlike in potencialne aplikacije.
Povezan z
Statični: Statični člani (spremenljivke in metode) so povezani s samim razredom in ne s posameznimi primerki.
Nestatično: Nestatični člani so specifični za vsak primerek razreda, saj so vezani na objekte, ustvarjene iz razreda.
nizovne metode java
Dodelitev pomnilnika
Statični: Statičnim članom je pomnilnik dodeljen samo enkrat, v času nalaganja razreda. Delijo jih vse instance razreda.
Nestatično: Nestatičnim članom je pomnilnik dodeljen ločeno za vsak primerek razreda. Vsak objekt ima svojo kopijo nestatičnih članov.
Dostopanje
Statični: Do statičnih članov je mogoče dostopati neposredno z uporabo imena razreda, ki mu sledi ime člana (npr. ClassName.memberName). Dostopni so od kjerkoli znotraj programa.
Nestatično: Do nestatičnih članov se dostopa z uporabo reference objekta, ki ji sledi ime člana (npr. objectReference.memberName). Specifični so za določen primerek razreda.
niz in podniz
Inicializacija
Statični: Statični člani se inicializirajo, ko se razred naloži v pomnilnik, običajno med zagonom programa. Inicializacija se zgodi samo enkrat.
Nestatično: Nestatični člani se inicializirajo, ko je ustvarjen vsak primerek razreda, običajno z uporabo nove ključne besede. Inicializacija poteka ločeno za vsak objekt.
Obseg
Statični: Statični člani imajo globalni obseg in do njih lahko dostopate od koder koli v programu, tudi brez ustvarjanja primerka razreda.
Nestatično: Nestatični člani imajo lokalni obseg in je do njih mogoče dostopati samo prek primerka razreda. Niso dostopni brez ustvarjanja predmeta.
mini orodna vrstica excel
Dostop do članov
Statični: Statični člani lahko dostopajo le do drugih statičnih članov znotraj istega razreda. Ne morejo neposredno dostopati do nestatičnih članov.
Nestatično: Nestatični člani lahko dostopajo do statičnih in nestatičnih članov znotraj istega razreda. Imajo neposreden dostop do vseh članov.
Uporaba
Statični: Statični člani se običajno uporabljajo za pomožne metode, konstante ali spremenljivke, ki niso specifične za posamezne primere. Na primer razred Math, ki vsebuje matematične funkcije.
java case statement
Nestatično: Nestatični člani se uporabljajo za obnašanje, specifično za primerek, saj hranijo podatke, specifične za vsak objekt. Na primer spremenljivke primerkov, ki shranjujejo edinstvene vrednosti za vsak predmet.
Učinkovitost pomnilnika
Statični: Statični člani porabijo pomnilnik samo enkrat, ne glede na število ustvarjenih primerkov. Lahko so pomnilniško učinkoviti, ko morajo biti isti podatki v skupni rabi za vse objekte.