Rozdíl mezi statickou a konečnou v Javě

Autor: Laura McKinney
Datum Vytvoření: 2 Duben 2021
Datum Aktualizace: 9 Smět 2024
Anonim
Rozdíl mezi statickou a konečnou v Javě - Technologie
Rozdíl mezi statickou a konečnou v Javě - Technologie

Obsah


Statická i konečná jsou klíčová slova použitá v Javě. K statickému členu lze přistupovat před vytvořením objektu třídy. Final má odlišný účinek, pokud je aplikován na třídu, metody a proměnné. Hlavní rozdíl mezi statickým a konečným klíčovým slovem je ten statický je klíčové slovo se používá k definování člena třídy, který lze použít nezávisle na jakémkoli objektu této třídy. Finále klíčové slovo se používá k deklaraci, konstantní proměnné, metody, kterou nelze přepsat, a třídy, kterou nelze zdědit.

  1. Srovnávací tabulka
  2. Definice
  3. Klíčové rozdíly
  4. Závěr

Srovnávací tabulka

Základ pro srovnáníStatickýFinále
PoužitelnýStatické klíčové slovo je použitelné pro vnořenou statickou třídu, proměnné, metody a blok.Konečné klíčové slovo je použitelné pro třídu, metody a proměnné.
InicializacePři vyhlášení není povinné inicializovat statickou proměnnou.Je nutné inicializovat konečnou proměnnou v době jejího prohlášení.
ModifikaceStatická proměnná může být znovu inicializována.Konečnou proměnnou nelze znovu inicializovat.
MetodyStatické metody mohou přistupovat pouze ke statickým členům třídy a lze je volat pouze jinými statickými metodami.Konečné metody nelze zdědit.
TřídaStatický objekt třídy nelze vytvořit a obsahuje pouze statické členy.Poslední třídu nemůže zdědit žádná třída.
BlokStatický blok se používá k inicializaci statických proměnných.Konečné klíčové slovo takový blok nepodporuje.


Definice statické

Statické je klíčové slovo, použitelné pro třídy, proměnné, metody a bloky. Členové třídy, třída a bloky mohou být statické pomocí klíčového slova „statický“ před jménem členů třídy, třídy a bloků. Když je člen třídy deklarován jako statický, stane se globálním pro všechny ostatní členy třídy. Statický člen třídy nezabírá paměť na základě instance, tj. Všechny objekty sdílejí stejnou kopii statického člena. Statický člen lze použít nezávisle na jakémkoli objektu této třídy. Před vytvořením objektu získáte přístup ke statickému členu třídy. Nejlepším příkladem statického prvku je metoda main (), která je deklarována jako statická, takže ji lze vyvolat dříve, než nějaký objekt existuje. Obecný formulář pro přístup ke statickému členu třídy:


class_name.static_member // zpřístupnění statického člena třídy

Ve výše uvedeném kódu class_name je název třídy, ve které je definován static_member. Statický člen může být statická proměnná nebo statická metoda

Statické proměnné:

  • Statická proměnná funguje jako globální proměnná pro všechny ostatní datové členy třídy.
  • Přístup ke statické proměnné je možný dříve, než existuje jakýkoli objekt třídy.
  • K statické proměnné lze přistupovat s názvem třídy, ve které je definována, následovaným tečkovým (.) Operátorem.

Statické metody:

  • Statická metoda může volat pouze jiné statické metody.
  • Statická metoda může přistupovat pouze ke statickým datům.
  • Statická metoda nemůže být označena za „toto“ nebo „super“ za žádných podmínek.
  • K statické metodě lze přistupovat pomocí názvu třídy, ve které je definována, následované tečkou (.).

Statická třída:

  • Java má koncept vnořené statické třídy. Nejvzdálenější třída nemůže být statická, zatímco nejvnitřnější třída může být statická.
  • Statická vnořená třída nemůže získat přístup k nestatickému členu vnější třídy.
  • Má přístup pouze ke statickým členům vnější třídy.

Statický blok:

Statický blok se provede pouze jednou, když je třída načtena. Používá se k inicializaci statických proměnných třídy.

C ++:

V C ++ máme koncept statických proměnných a statických funkcí, zatímco C ++ nepodporují statickou třídu.

C#:

C # podporuje statickou třídu, statické proměnné a statickou třídu také.

Jáva:

Java podporuje statickou vnořenou třídu, statické proměnné, statické metody.

Definice finále

Final je klíčové slovo použitelné pro třídu, proměnnou a metody. Třída, proměnná a metoda jsou deklarovány jako konečné pomocí klíčového slova „final“, před kterým je uvedeno jejich jméno. Jakmile je proměnná deklarována jako konečná; v programu ji nelze dále upravovat. Konečná proměnná musí být inicializována v časovém prohlášení. Konečné proměnné nezabírají paměť podle jednotlivých instancí. Všechny objekty tříd sdílejí stejnou kopii konečné proměnné.

Metoda deklarovaná jako konečná nemůže být potlačena podtřídou té třídy, ve které je deklarována konečná metoda. Když je třída deklarována jako konečná, nemůže jiná třída zdědit tuto konečnou třídu. C ++, C # nepodporují koncept, pokud je konečné klíčové slovo. Java podporuje koncept konečného klíčového slova a v jazyce Java; třída, proměnná a metoda mohou být deklarovány jako konečné.

  1. Statické klíčové slovo je použitelné pro vnořenou statickou třídu, proměnné, metody a bloky. Na druhé straně je konečné klíčové slovo použitelné pro metody třídy a proměnné.
  2. Statická proměnná může být inicializována kdykoli, zatímco konečná proměnná musí být inicializována v době deklarace.
  3. Statickou proměnnou lze znovu inicializovat, zatímco po inicializaci nelze konečnou proměnnou nikdy znovu inicializovat.
  4. Statická metoda má přístup ke statickému členu třídy a může být vyvolána pouze jinými statickými metodami. Na druhou stranu, konečná metoda nemůže být nikdy zděděna žádnou třídou.
  5. Statický blok se používá k inicializaci statických proměnných, zatímco konečné klíčové slovo nepodporuje žádný blok.

Závěr:

Při použití na třídu, proměnnou a metodu rozlišují statické i konečné klíčové slovo odlišný účel.