logo

Atšķirība starp statisko un nestatisko Java

Lai saprastu, kā Java darbojas klases, mainīgie un metodes, ir ļoti svarīgi saprast statisko un nestatisko jēdzienu. Nestatiskie dalībnieki ir saistīti ar konkrētiem klases gadījumiem, savukārt statiskie dalībnieki ir saistīti ar klasi. Šajā sadaļā mēs pretstatīsim statiskos un nestatiskos Java komponentus, izceļot to atšķirības un iespējamās lietojumprogrammas.

Saistīts ar

Statisks: Statiskie dalībnieki (mainīgie un metodes) ir saistīti ar pašu klasi, nevis ar atsevišķiem gadījumiem.

Nestatisks: Nestatiskie dalībnieki ir raksturīgi katram klases gadījumam, jo ​​tie ir saistīti ar objektiem, kas izveidoti no klases.

Atmiņas piešķiršana

Statisks: Statiskajiem dalībniekiem atmiņa tiek piešķirta tikai vienu reizi, klases ielādes laikā. Tie tiek kopīgoti starp visiem klases gadījumiem.

tīkls un tīklu veidi

Nestatisks: Nestatiskajiem dalībniekiem atmiņa ir piešķirta atsevišķi katram klases gadījumam. Katram objektam ir sava nestatisko elementu kopija.

runas in powershell

Piekļuve

Statisks: Statiskajiem dalībniekiem var piekļūt tieši, izmantojot klases nosaukumu, kam seko dalībnieka nosaukums (piemēram, ClassName.memberName). Tie ir pieejami no jebkuras programmas vietas.

Nestatisks: Nestatiskajiem dalībniekiem var piekļūt, izmantojot objekta atsauci, kam seko dalībnieka nosaukums (piemēram, objectReference.memberName). Tie ir raksturīgi konkrētam klases gadījumam.

Inicializācija

Statisks: Statiskie dalībnieki tiek inicializēti, kad klase tiek ielādēta atmiņā, parasti programmas startēšanas laikā. Inicializācija notiek tikai vienu reizi.

Nestatisks: Nestatiskie dalībnieki tiek inicializēti, kad tiek izveidots katrs klases gadījums, parasti izmantojot jauno atslēgvārdu. Inicializācija notiek katram objektam atsevišķi.

Darbības joma

Statisks: Statiskajiem dalībniekiem ir globāls tvērums, un tiem var piekļūt no jebkuras vietas programmā, pat neveidojot klases gadījumu.

Nestatisks: Nestatiskajiem dalībniekiem ir lokāls tvērums, un tiem var piekļūt tikai, izmantojot klases gadījumu. Tie nav pieejami, neizveidojot objektu.

string ti int

Piekļuve deputātiem

Statisks: Statiskie dalībnieki var piekļūt tikai citiem statiskajiem dalībniekiem tajā pašā klasē. Viņi nevar tieši piekļūt nestatiskiem dalībniekiem.

Nestatisks: Nestatiskie dalībnieki var piekļūt gan statiskiem, gan nestatiskiem vienas klases locekļiem. Viņiem ir tieša piekļuve visiem dalībniekiem.

Lietošana

Statisks: Statiskie elementi parasti tiek izmantoti lietderības metodēm, konstantēm vai mainīgajiem, kas nav raksturīgi atsevišķiem gadījumiem. Piemēram, matemātikas klase, kurā ir matemātiskas funkcijas.

java gadījuma paziņojums

Nestatisks: Nestatiskie elementi tiek izmantoti gadījumam specifiskai darbībai, jo tajos ir dati, kas raksturīgi katram objektam. Piemēram, gadījumu mainīgie, kas saglabā unikālas vērtības katram objektam.

Atmiņas efektivitāte

Statisks: Statiskie dalībnieki atmiņu patērē tikai vienu reizi neatkarīgi no izveidoto gadījumu skaita. Tie var efektīvi izmantot atmiņu, ja vieni un tie paši dati ir jādala visos objektos.