Rozdiel medzi statickou a konečnou v Jave

Autor: Laura McKinney
Dátum Stvorenia: 2 Apríl 2021
Dátum Aktualizácie: 13 Smieť 2024
Anonim
Klimatické hrozby. Varianty přežití
Video: Klimatické hrozby. Varianty přežití

Obsah


Statické aj konečné sú kľúčové slová používané v jazyku Java. K statickému členu sa dá pristúpiť pred vytvorením objektu triedy. Final má odlišný účinok, keď sa použije na triedu, metódy a premenné. Hlavný rozdiel medzi statickým a konečným kľúčovým slovom je ten statický je kľúčové slovo sa používa na definovanie člena triedy, ktorý môže byť použitý nezávisle od akéhokoľvek objektu tejto triedy. Finálny, konečný Kľúčové slovo sa používa na deklarovanie konštantnej premennej, metódy, ktorú nemožno prepísať, a triedy, ktorú nemožno zdediť.

  1. Porovnávacia tabuľka
  2. definícia
  3. Kľúčové rozdiely
  4. záver

Porovnávacia tabuľka

Základ pre porovnaniestatickýFinálny, konečný
použiteľnýStatické kľúčové slovo je použiteľné pre vnorenú statickú triedu, premenné, metódy a blok.Konečné kľúčové slovo je použiteľné pre triedu, metódy a premenné.
inicializáciaPri vyhlásení nie je povinné inicializovať statickú premennú.Je potrebné inicializovať konečnú premennú v čase jej vyhlásenia.
modifikácieStatická premenná môže byť znovu inicializovaná.Konečnú premennú nie je možné opätovne inicializovať.
metódyStatické metódy môžu pristupovať iba k statickým členom triedy a môžu sa nazývať iba inými statickými metódami.Konečné metódy sa nedajú zdediť.
TriedaStatický objekt triedy nie je možné vytvoriť a obsahuje iba statické členy.Poslednú triedu nemôže zdediť žiadna trieda.
blokStatický blok sa používa na inicializáciu statických premenných.Konečné kľúčové slovo takýto blok nepodporuje.


Definícia statickej

Statické je kľúčové slovo, ktoré je použiteľné pre triedy, premenné, metódy a bloky. Členovia triedy, trieda a bloky sa môžu stať statickými pomocou kľúčového slova „statický“ pred menom členov triedy, triedy a blokov. Ak je člen triedy deklarovaný ako statický, stáva sa globálnym pre všetkých ostatných členov triedy. Statický člen triedy nezaberá pamäť na základe inštancie, t.j. všetky objekty zdieľajú rovnakú kópiu statického člena. Statický člen môže byť použitý nezávisle od akéhokoľvek objektu tejto triedy. Pred vytvorením objektu môžete získať prístup k statickému členu triedy. Najlepším príkladom statického člena je metóda main (), ktorá je vyhlásená za statickú, takže ju možno vyvolať skôr, ako existuje akýkoľvek objekt. Všeobecný formulár na prístup k statickému členu triedy:


class_name.static_member // sprístupnenie statického člena triedy

Vo vyššie uvedenom kóde class_name je názov triedy, v ktorej je definovaný static_member. Statický člen môže byť statická premenná alebo statická metóda

Statické premenné:

  • Statická premenná funguje ako globálna premenná pre všetkých ostatných dátových členov triedy.
  • K statickej premennej sa dá pristúpiť skôr, ako existuje akýkoľvek objekt triedy.
  • K statickej premennej sa dá dostať s názvom triedy, v ktorej je definovaná, za ktorým nasleduje operátor bodky (.).

Statické metódy:

  • Statická metóda môže volať iba iné statické metódy.
  • Statická metóda má prístup iba k statickým údajom.
  • Statická metóda nemôže byť označená ako „táto“ alebo „super“ za žiadnych podmienok.
  • K statickej metóde sa dá dostať s názvom triedy, v ktorej je definovaná, za ktorým nasleduje operátor bodky (.).

Statická trieda:

  • Java má koncept vnorenej statickej triedy. Najvzdialenejšia trieda nemôže byť statická, zatiaľ čo najvnútornejšia trieda môže byť statická.
  • Statická vnorená trieda nemôže získať prístup k statickému členu vonkajšej triedy.
  • Má prístup iba k statickým členom vonkajšej triedy.

Statický blok:

Statický blok sa vykoná iba raz, keď je trieda načítaná. Používa sa na inicializáciu statických premenných triedy.

C ++:

V C ++ máme koncept statických premenných a statických funkcií, zatiaľ čo C ++ nepodporuje statickú triedu.

C #:

C # podporuje statickú triedu, statické premenné a tiež statickú triedu.

Java:

Java podporuje statické vnorené triedy, statické premenné, statické metódy.

Definícia finále

Final je kľúčové slovo použiteľné pre triedu, premennú a metódy. Trieda, premenná a metóda sa deklarujú ako konečné pomocou kľúčového slova „final“, pred ktorým je uvedený názov. Akonáhle je premenná deklarovaná ako konečná; v programe sa nemôže ďalej upravovať. Konečná premenná sa musí inicializovať pri časovom vyhlásení. Konečné premenné nezaberajú pamäť podľa jednotlivých inštancií. Všetky objekty tried zdieľajú rovnakú kópiu výslednej premennej.

Metóda deklarovaná ako konečná nemôže byť potlačená podtriedou tej triedy, v ktorej je deklarovaná konečná metóda. Ak je trieda vyhlásená za konečnú, iná trieda nemôže zdediť túto konečnú triedu. C ++, C # nepodporujú tento koncept, ak je to konečné kľúčové slovo. Java podporuje koncept konečného kľúčového slova a v jazyku Java; triedu, premennú a metódu možno deklarovať ako konečnú.

  1. Statické kľúčové slovo je použiteľné pre vnorenú statickú triedu, premenné, metódy a bloky. Na druhej strane je konečné kľúčové slovo použiteľné pre metódy triedy a premenné.
  2. Statická premenná sa môže inicializovať kedykoľvek, zatiaľ čo konečná premenná sa musí inicializovať v čase vyhlásenia.
  3. Statická premenná sa môže inicializovať, zatiaľ čo po inicializácii sa už konečná premenná nemôže inicializovať.
  4. Statická metóda má prístup k statickému členu triedy a môže byť vyvolaná iba inými statickými metódami. Na druhú stranu, konečná metóda nemôže byť nikdy zdedená žiadnou triedou.
  5. Statický blok sa používa na inicializáciu statických premenných, zatiaľ čo konečné kľúčové slovo nepodporuje žiadny blok.

záver:

Pri použití na triedu, premennú a metódu riešia statické aj konečné kľúčové slovo odlišný účel.