Különbség a végleges és a Java-beli véglegesítés között

Tartalomjegyzék:

Különbség a végleges és a Java-beli véglegesítés között
Különbség a végleges és a Java-beli véglegesítés között

Videó: Különbség a végleges és a Java-beli véglegesítés között

Videó: Különbség a végleges és a Java-beli véglegesítés között
Videó: Difference between final, finally and finalize | final Vs finally Vs finalize 2024, Július
Anonim

Kiemelt különbség – végső vs végül vs véglegesítés Java-ban

A végleges, végül és véglegesítés a Java programozásban használt általános kifejezések. A döntő kulcsszó. Használható változókhoz, metódusokhoz vagy osztályokhoz. A véglegesnek nyilvánított változókat csak egyszer kell inicializálni. Nem változtathatók meg. Mivel a Java olyan nyelv, amely támogatja az objektumorientált programozást, lehetővé teszi osztályok létrehozását a meglévő osztályokból a kód újrafelhasználhatóságának javítása érdekében. Néha előfordulhat, hogy kerülni kell a meglévő osztályok használatát. Ehhez a végső használható. A programozásban előfordulhatnak hibák, amelyeket a program megfelelő végrehajtása érdekében fontos kezelni. A véglegesítés egy módszer, amelyet a szemétgyűjtő hív meg. Tehát ezek a kifejezések ennek megfelelően eltérő jelentéssel bírnak. A végső egy olyan kulcsszó, amely megakadályozza a változók megváltoztatását, elkerüli a metódusok felülbírálását és az osztályok kiterjesztését. A Végül egy blokk a kivételkezelésben, amely végrehajtja a kivételt, vagy sem. A véglegesítés egy módszer, amelyet a szemétgyűjtő hív meg, mielőtt teljesen megsemmisítené az objektumot. Ez a kulcsfontosságú különbség, amely végül a Java-ban véglegesíthető.

Mi a végleges a Java-ban?

A döntő egy kulcsszó a Java nyelven. Mivel a Java támogatja az objektumorientált programozást, az alosztályok használhatják egy már létező osztály változóit és metódusait. A már meglévő osztály a szuperosztály, míg az új osztály az alosztály. Ha a programozó meg akarja akadályozni, hogy a változó más osztályok is hozzáférjenek, akkor a változót véglegesnek nyilváníthatja. Például tegyük fel, hogy van egy p. A rendszer véglegesnek nyilvánítja, és 10-re inicializálja.például. final int p=10. Ha a p értéket ismét 20-ra változtatjuk, az fordítási idejű hibát okoz. Az utolsó kulcsszó megakadályozza a változó értékének megváltoztatását.

Egy osztály használhat olyan metódust, amely már egy meglévő osztályban van. Tegyük fel, hogy van egy B nevű osztály, amelynek van egy display() metódusa. Az új osztály a C, és kiterjeszti a B osztályt. Ha a C osztálynak is van egy display() nevű metódusa, akkor az eredeti B osztályú display() metódus felülírásra kerül. Ha a programozó el akarja kerülni a metódus felülírását, akkor végül használhatja a kulcsszót. például. final void display(){ }. A metódus véglegessé tétele biztosítja, hogy a metódus funkcionalitása soha nem fog megváltozni.

Különbség a végleges és a végleges Java nyelv között
Különbség a végleges és a végleges Java nyelv között

01. ábra: végleges, végül és véglegesítés

Lehetőség van az osztály végső kulcsszójának használatára is. Az új osztály nem örökölheti a végső osztály változóit és metódusait. Ez hasznos a biztonság növelése érdekében. Mivel az osztályt az alosztályok nem használhatják, az adatok védettek.

Mi van végre a Java-ban?

A programozásban előfordulhatnak hibák. A hibák hibás kimeneteket okozhatnak, vagy leállíthatják a program végrehajtását. Fontos, hogy valamilyen mechanizmust alkalmazzunk, hogy megelőzzük ezeket a váratlan eredményeket. A hibák kétféleek lehetnek. Összeállított időhibák és futásidejű hibák. A fordítási idő hibák szintaktikai hibák miatt fordulnak elő. Néhány gyakori fordítási hiba hiányzik a pontosvesszőből, hiányzó kapcsos zárójelekből, elírási azonosítókból, kulcsszavakból és nem deklarált változókból. A fordító nem hozza létre a.class fájlt, amíg ezeket a hibákat ki nem javítják.

Néha előfordulhatnak olyan programok, amelyek megfelelően lefordítják, de rossz kimenetet adnak. Ezeket futásidejű hibáknak nevezzük. Néhány gyakori futásidejű hiba az, hogy egy egész számot nullára tesz, és olyan elemet ér el, amely kívül esik egy tömb határain. Ezek a hibák nem okoznak hibát a fordítás során, de a kimenet helytelen. Kivétel egy olyan állapot, amelyet a program futásidejű hibája okoz.

Futásidejű hiba esetén a Java kivételobjektumot hoz létre, és kidobja. Ha a kivételobjektumot nem sikerült megfelelően elkapni, hibaüzenetet jelenít meg, és leállítja a programot. Ha a programozó folytatni akarja a program végrehajtását a kód többi részével, akkor el kell fognia a kivételobjektumot, és meg kell jelenítenie a szükséges üzenetet a helyesbítéshez. Ezt a folyamatot kivételkezelésnek nevezik.

Java esetén a try parancsot használják arra a kódra, amely valószínűleg hibát okoz, és kivételt okoz. A catch a try blokk által dobott kivétel kezelésére szolgál. Több fogási nyilatkozat is lehet. Az utolsó utasítások olyan kivételek kezelésére használhatók, amelyeket egyetlen korábbi catch utasítás sem fogott meg. Az utolsó blokk végrehajtódik, függetlenül attól, hogy kivételt dobtak-e vagy sem. Lásd a megadott példát.

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

int válasz;

próbáld{

válasz=p / (q – r);

}

fogás (aritmetikai kivétel e){

System.out.println(“Nullával osztva”);

}

végre{

System.out.println(“A végül a blokk végrehajtásra került”);

}

A fenti példa szerint a p értéket elosztjuk nullával, és ez kivételt okoz. Ezért megragadja a catch utasítás. Kinyomtatja az üzenetet, osztva nullával. Az utolsó blokk végrehajtásra kerül, akár történt kivétel, akár nem. A Nullával osztva üzenet után az utolsó blokkon belüli üzenet jelenik meg. Ezért végül egy blokkot használnak a kivételkezelésben.

Mi a véglegesítés a Java-ban?

Az OOP-ban az objektumok osztályok használatával jönnek létre. A konstruktor metódus képes inicializálni egy objektumot, amikor deklarálva van. Ezt a folyamatot inicializálásnak nevezik. A Java-nak van egy véglegesítésnek nevezett koncepciója is. A Java futtatókörnyezet egy automatikus szemétgyűjtő. Automatikusan felszabadítja az objektumok által használt memória erőforrásokat. A szemétgyűjtő meghívja ezt a módszert, mielőtt megsemmisítené az objektumot.

Egyes objektumok nem objektum erőforrásokat is tartalmazhatnak. Az egyik példa a fájlleíró. Ezekben a helyzetekben a szemétgyűjtő a véglegesítés módszerét hívja meg. például. véglegesít(). Ez a módszer tisztítási feldolgozást végez közvetlenül az objektum szemétgyűjtése előtt.

Mi a hasonlóság a végleges és a véglegesítés között Javaban?

A Java programozásban mind a végső, mind a végső és a véglegesítés szerepel a Java programozásban

Mi a különbség a végleges és a Java-ban való véglegesítés között?

döntő vs végre vs véglegesítés

döntő A végső egy kulcsszó a Java nyelvben, amely megakadályozza a változók megváltoztatását, elkerüli a metódusok felülbírálását és az osztályok kiterjesztését.
végre A végre egy blokk a Java kivételkezelésben, amely végrehajtja, függetlenül attól, hogy kivételt dobtak-e vagy sem.
véglegesítése A véglegesítés egy Java metódus, amelyet a szemétgyűjtő hív meg, mielőtt teljesen megsemmisítené az objektumot.
Alkalmazhatóság
döntő A végső változókra, metódusokra és osztályokra vonatkozik.
végre A végre a try and catch blokkokkal alkalmazható.
véglegesítése A véglegesítés objektumokra vonatkozik.

Összefoglaló – végleges vs végül vs véglegesítés Java-ban

A végleges, végül és véglegesítés a Java programozásban használt általános kifejezések. Szavaik azonosnak tűnnek, de van különbség. A végső egy olyan kulcsszó, amely megakadályozza a változók megváltoztatását, elkerüli a metódusok felülbírálását és az osztályok kiterjesztését. A Végül egy blokk a kivételkezelésben, amely végrehajtja a kivételt, vagy sem. A véglegesítés egy módszer, amelyet a szemétgyűjtő hív meg, mielőtt teljesen megsemmisítené az objektumot. Ez a különbség a végleges, a végleges és a véglegesítés között a Java programozásban.

Töltse le a végleges és végül vs véglegesítés PDF-fájlját Java-ban

A cikk PDF-verzióját letöltheti, és offline célokra használhatja az idézési megjegyzés szerint. Kérjük, töltse le a PDF-verziót innen: Különbség a végleges és a véglegesítés között Java-ban

Ajánlott: