Rozdíl mezi statickým a konečným v Javě

Obsah:

Rozdíl mezi statickým a konečným v Javě
Rozdíl mezi statickým a konečným v Javě

Video: Rozdíl mezi statickým a konečným v Javě

Video: Rozdíl mezi statickým a konečným v Javě
Video: Programování v Javě - Cykly While a For #6 2024, Červenec
Anonim

Klíčový rozdíl – statické versus konečné v Javě

Každý programovací jazyk má specifickou syntaxi. Programátor by se měl při psaní programů řídit těmito syntaxemi. Klíčová slova programovacích jazyků mají specifický význam podle úloh. Jsou poskytovány programovacím jazykem a nelze je použít pro uživatelem definované proměnné, metody, třídy atd. Statické a konečné jsou dvě klíčová slova v Javě. Tento článek pojednává o rozdílu mezi statickým a konečným v Javě. Klíčový rozdíl mezi statickým a konečným v Javě je ten, že statický se používá k definování člena třídy, který lze použít nezávisle na jakémkoli objektu třídy, zatímco final se používá k deklaraci konstantní proměnné nebo metody, kterou nelze přepsat, nebo třídy, která nelze zdědit.

Co je v Javě statické?

Třída se skládá z datových členů (atributů) a metod. Aby bylo možné volat metody, měl by existovat objekt této konkrétní třídy. Když je metoda deklarována jako statická, není nutné vytvářet objekt pro volání této metody. Metodu lze volat pomocí názvu třídy. Viz níže uvedený program.

Rozdíl mezi statickým a konečným v Javě
Rozdíl mezi statickým a konečným v Javě

Obrázek 01: Program Java se statickými proměnnými a statickou metodou

Podle výše uvedeného programu obsahuje třída A číselnou proměnnou a metodu zobrazení. Oba jsou statickými členy. Proto není nutné vytvářet objekt pro přístup k proměnné čísla a metodě zobrazení. Programátor může přímo napsat název třídy pro tisk čísla a pro vyvolání zobrazení metody. Není tedy potřeba vytvářet instanci objektu. Pokud jsou číselná proměnná a metoda zobrazení nestatické, měl by existovat objekt typu A.

Rozdíl mezi statickým a konečným v Java_Figure 02
Rozdíl mezi statickým a konečným v Java_Figure 02

Obrázek 02: Použití statického bloku

Výše uvedený program obsahuje statický blok a hlavní metodu. Statický blok je volán při načtení třídy. Proto se příkaz ve statickém bloku provede před příkazem v hlavním bloku. Pokud existuje mnoho statických bloků, provedou se postupně.

Co je v Javě finální?

V programu mohou být proměnné různých typů. Pokud existuje proměnná jako int x=1; později v programu lze hodnotu proměnné změnit na jinou hodnotu. Proměnnou, která je deklarována jako konečná a inicializovaná hodnotou, nelze později v programu změnit.

Rozdíl mezi statickým a konečným v Java_Figure 03
Rozdíl mezi statickým a konečným v Java_Figure 03

Obrázek 03: Program s konečnou proměnnou a dědičností

Podle výše uvedeného programu je x konečná proměnná. Je jí přiřazena hodnota 5. Nelze ji změnit jinou hodnotou, protože je deklarována jako konečná. Java podporuje objektově orientované programování (OOP). Jedním z pilířů OOP je polymorfismus. Jeden typ polymorfismu je převažující. Třída A má metodu zobrazení. Třída B rozšiřuje třídu A a má vlastní metodu zobrazení. Při vytváření objektu typu B a volání metody zobrazení vypíše jako výstup „B“. Metoda zobrazení třídy A je přepsána metodou zobrazení třídy B.

Pokud se programátor čemu má vyhnout přepsání metody, může pro tuto metodu použít klíčové slovo final. Pokud je metoda zobrazení ve třídě A konečná, metoda zobrazení ve třídě B zobrazí chybu, protože tuto metodu nelze přepsat.

Rozdíl mezi statickým a konečným v Java_Figure 04
Rozdíl mezi statickým a konečným v Java_Figure 04

Obrázek 04: poslední klíčové slovo v metodě

Dalším pilířem OOP je dědičnost. Pomáhá znovu použít již existující kód. Nová třída se může rozšířit z existující třídy a používat datové členy a metody existující třídy. Pokud je nutné zastavit dědění třídy, programátor může použít klíčové slovo ‚final‘. Viz níže uvedený program.

Ke3y Rozdíl mezi statickým a konečným v Javě
Ke3y Rozdíl mezi statickým a konečným v Javě

Obrázek 05: poslední klíčové slovo ve třídě

Podle výše uvedeného programu je třída A prohlášena za konečnou. Když třída B rozšiřuje A, dává chybu, protože třída A je deklarována jako konečná. Nemůže být zděděn jinými třídami.

Jaká je podobnost mezi statickým a konečným v Javě?

Statické i konečné jsou klíčová slova v Javě

Jaký je rozdíl mezi statickým a konečným v Javě?

statické vs. finále v Javě

Statické klíčové slovo označuje, že členská proměnná nebo metoda může být přístupná bez nutnosti vytvoření instance třídy, do které patří. Poslední klíčové slovo označuje entitu, kterou lze přiřadit pouze jednou.
Proměnné
Statické proměnné lze znovu inicializovat. Konečné proměnné nelze znovu inicializovat.
Metody
Lze volat jinými statickými metodami a přistupovat pouze ke statickým členům třídy. Konečné metody nelze přepsat.
Class
Statický objekt třídy nelze vytvořit. Obsahuje pouze statické členy. Poslední třídu nemohou zdědit jiné třídy.
Blokovat
Statické klíčové slovo lze použít v bloku. Konečné klíčové slovo se nepoužívá s blokem.

Shrnutí – statické versus konečné v Javě

Tento článek pojednával o dvou klíčových slovech v Javě, jako je statické a konečné. Rozdíl mezi static a final v Javě je ten, že static se používá k definování člena třídy, který lze použít nezávisle na jakémkoli objektu třídy, zatímco final se používá k deklaraci konstantní proměnné nebo metody, kterou nelze přepsat, nebo třídy, kterou nelze být zděděn.

Doporučuje: