logo

Razlika med statičnim in nestatičnim v Javi

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.