Rozdíl mezi finálním finálním a finalizací v Javě

Obsah:

Rozdíl mezi finálním finálním a finalizací v Javě
Rozdíl mezi finálním finálním a finalizací v Javě

Video: Rozdíl mezi finálním finálním a finalizací v Javě

Video: Rozdíl mezi finálním finálním a finalizací v Javě
Video: Difference between final, finally and finalize | final Vs finally Vs finalize 2024, Červenec
Anonim

Klíčový rozdíl – finále vs. konečné vs. finalizace v Javě

Finální, konečně a finalizovat jsou běžné termíny používané v programování Java. Finále je klíčové slovo. Může být použit pro proměnné, metody nebo třídy. Proměnné deklarované jako konečné by měly být inicializovány pouze jednou. Nelze je změnit. Protože Java je jazyk, který podporuje objektově orientované programování, umožňuje vytvářet třídy ze stávajících tříd pro zlepšení znovupoužitelnosti kódu. Někdy může být nutné nepoužívat existující třídy. K tomu lze použít konečnou. V programování se mohou vyskytnout chyby a je důležité s nimi zacházet, aby byl program správně proveden. Finalizace je metoda, kterou volá garbage collector. Takže všechny tyto termíny mají podle toho různé významy. Final je klíčové slovo, které zabraňuje změně proměnných, vyhýbá se přepisování metod a rozšiřování tříd. Konečně je blok ve zpracování výjimek, který se provede bez ohledu na to, zda je výjimka vyvolána nebo ne. Finalizace je metoda, kterou volá garbage collector předtím, než objekt úplně zničí. To je konečně ten klíčový rozdíl a finalizujte ho v Javě.

Co je v Javě finální?

Final je klíčové slovo v Javě. Protože Java podporuje objektově orientované programování, mohou podtřídy používat proměnné a metody již existující třídy. Již existující třída je nadtřídou, zatímco nová třída je podtřídou. Pokud chce programátor zabránit tomu, aby proměnná byla přístupná jiným třídám, může proměnnou deklarovat jako ‚finální‘. Předpokládejme například, že existuje proměnná jako p. Je deklarován jako konečný a inicializuje se hodnotou 10.např. final int p=10. Pokud se hodnota p znovu změní na 20, způsobí to chybu při kompilaci. Poslední klíčové slovo brání změně hodnoty proměnné.

Třída může používat metodu, která je již v existující třídě. Předpokládejme, že existuje třída s názvem B, která má metodu display(). Nová třída je C a rozšiřuje třídu B. Pokud má třída C také metodu nazvanou display(), pak je původní metoda display() třídy B přepsána. Pokud se chce programátor vyhnout přepsání metody, může nakonec použít klíčové slovo. např. final void display(){}. Vytvoření konečné verze metody zajišťuje, že funkčnost metody nebude nikdy změněna.

Rozdíl mezi finálním a finalizací v Javě
Rozdíl mezi finálním a finalizací v Javě

Obrázek 01: konečná, konečná a finalizace

Je také možné použít konečné klíčové slovo pro třídu. Nová třída nemůže zdědit proměnné a metody finální třídy. To je užitečné pro zvýšení bezpečnosti. Protože podtřídy brání použití třídy, data jsou chráněna.

Co je konečně v Javě?

Při programování se mohou vyskytnout chyby. Chyby mohou způsobit nesprávné výstupy nebo ukončí provádění programu. Je důležité použít nějaký mechanismus, který těmto neočekávaným výsledkům zabrání. Chyby mohou být dvojího druhu. Jsou to chyby kompilovaného času a chyby běhu. K chybám v době kompilace dochází v důsledku syntaktických chyb. Některé běžné chyby při kompilaci postrádají středník, složené závorky, nesprávně napsané identifikátory, klíčová slova a nedeklarované proměnné. Kompilátor nevytvoří soubor.class, dokud tyto chyby nebudou opraveny.

Někdy mohou existovat programy, které kompilují správně, ale dávají špatný výstup. Říká se jim chyby za běhu. Některé běžné chyby běhového prostředí jsou ponoření celého čísla o nulu a přístup k prvku, který je mimo hranice pole. Tyto chyby nezpůsobí chybu v době kompilace, ale výstup je nesprávný. Výjimkou je stav, který je způsoben runtime chybou v programu.

Když dojde k chybě za běhu, Java vytvoří objekt výjimky a vyvolá jej. Pokud není objekt výjimky správně zachycen, zobrazí chybovou zprávu a ukončí program. Pokud chce programátor pokračovat ve vykonávání programu se zbytkem kódu, měl by zachytit objekt výjimky a zobrazit potřebnou zprávu pro nápravnou akci. Tento proces je známý jako zpracování výjimek.

V Javě se try používá pro kód, který pravděpodobně způsobí chybu a vyvolá výjimku. Chyt se používá ke zpracování výjimky vyvolané blokem try. Příkazů catch může být více. Příkazy last lze použít ke zpracování výjimky, která není zachycena žádným z předchozích příkazů catch. Blok Konečně se provede, ať už je vyvolána výjimka nebo ne. Podívejte se na uvedený příklad.

int p=10, q=5, r=5;

int odpověď;

zkusit{

answer=p / (q – r);

}

catch (aritmetická výjimka e){

System.out.println(“Děleno nulou”);

}

konečně{

System.out.println(“Konečný blok je proveden”);

}

Podle výše uvedeného příkladu je hodnota p dělena nulou a způsobí výjimku. Proto je zachycen příkazem catch. Vytiskne zprávu, děleno nulou. Blok Konečně se provede, ať už došlo k výjimce nebo ne. Po zprávě Děleno nulou se zobrazí zpráva uvnitř bloku nakonec. Proto je konečně blok použitý při zpracování výjimek.

Co se dokončuje v Javě?

V OOP se objekty vytvářejí pomocí tříd. Metoda konstruktoru může inicializovat objekt, když je deklarován. Proces je známý jako inicializace. Java má také koncept zvaný finalizace. Runtime Java je automatický garbage collector. Automaticky uvolňuje paměťové prostředky používané objekty. Sběratel odpadu zavolá tuto metodu před zničením objektu.

Některé objekty mohou obsahovat neobjektové zdroje. Jedním z příkladů je deskriptor souboru. V těchto situacích volá garbage collector metodu finalize. např. dokončit(). Tato metoda provádí čištění těsně předtím, než je objekt sesbírán.

Jaká je podobnost mezi finálním dokončením a finalizací v Javě?

Všechny finální, finální a finalizované v Javě se používají v programování Java

Jaký je rozdíl mezi final final a finalizací v Javě?

final vs.konečně vs.finalize

final Final je klíčové slovo v Javě, které zabraňuje změně proměnných, zabraňuje přepisování metod a rozšiřování tříd.
konečně Konečně je blok ve zpracování výjimek v Javě, který se provede, ať už je výjimka vyvolána nebo ne.
finalize Finalize je metoda v Javě, kterou volá garbage collector předtím, než objekt úplně zničí.
Použitelnost
final Final je použitelný pro proměnné, metody a třídy.
konečně Konečně platí při pokusu a chytání bloků.
finalize Dokončení se vztahuje na objekty.

Shrnutí – finále vs. konečné vs. finalizace v Javě

Konečný, konečně a finalizovat jsou běžné termíny používané v programování Java. Jejich slova se zdají stejná, ale mají rozdíl. Final je klíčové slovo, které zabraňuje změnám proměnných, zabraňuje přepisování metod a rozšiřování tříd. Konečně je blok ve zpracování výjimek, který se provede bez ohledu na to, zda je výjimka vyvolána nebo ne. Finalizace je metoda, kterou volá garbage collector předtím, než objekt úplně zničí. To je rozdíl mezi finálním, finálním a finalizací v programování Java.

Stáhněte si PDF finále vs. konečné vs. finalizace v Javě

Verzi tohoto článku si můžete stáhnout ve formátu PDF a použít ji pro offline účely podle citace. Stáhněte si prosím PDF verzi zde: Rozdíl mezi konečným výsledkem a finalizujte v Javě

Doporučuje: