Key Difference – final vs finally vs finalize in Java
The final, finally och finalize är vanliga termer som används i Java-programmering. Finalen är ett nyckelord. Den kan användas för variabler, metoder eller klasser. Variablerna som deklareras som slutgiltiga bör endast initieras en gång. De kan inte ändras. Eftersom Java är ett språk som stöder objektorienterad programmering, tillåter det att skapa klasser från befintliga klasser för att förbättra kodåteranvändbarhet. Ibland kan det vara nödvändigt att undvika att använda de befintliga klasserna. För det kan final användas. I programmering kan det förekomma fel, och det är viktigt att hantera dem för att kunna köra programmet korrekt. Finalize är en metod som kallas av sophämtaren. Så alla dessa termer har olika betydelser. Finalen är ett nyckelord som förhindrar att variabler ändras, undviker metodöverstyrning och undviker att utöka klasser. Slutligen är ett block i undantagshantering, som kommer att exekveras oavsett om ett undantag kastas eller inte. Finaliseringen är en metod som anropas av sopsamlaren innan den förstör föremålet helt. Det är den viktigaste skillnaden att slutligen och slutföra i Java.
Vad är final i Java?
Finalen är ett nyckelord i Java. Eftersom Java stöder objektorienterad programmering kan underklasserna använda variablerna och metoderna för en redan existerande klass. Den redan befintliga klassen är superklassen medan den nya klassen är underklassen. Om programmeraren vill förhindra variabeln tillgänglig för andra klasser, kan han förklara variabeln som "final". Antag till exempel att det finns en variabel som p. Det deklareras som slutgiltigt och initialiseras med värdet 10.t.ex. final int p=10. Om p-värdet ändras igen till 20 kommer det att orsaka ett kompileringstidsfel. Det sista nyckelordet förhindrar att variabelns värde ändras.
En klass kan använda en metod som redan finns i en befintlig klass. Antag att det finns en klass som heter B som har en metod display(). Den nya klassen är C, och den utökar klass B. Om klass C också har en metod som kallas display(), åsidosätts den ursprungliga klass B display()-metoden. Om programmeraren vill undvika att metoden åsidosätter, kan han slutligen använda nyckelordet. t.ex. final void display(){ }. Att göra en metod slutgiltig säkerställer att metodens funktionalitet aldrig kommer att ändras.
Figur 01: final, finally and finalize
Det är också möjligt att använda det sista nyckelordet för en klass. Den nya klassen kan inte ärva variabler och metoder från en slutlig klass. Detta är användbart för att öka säkerheten. Eftersom klassen hindras från att använda av underklasserna är data skyddad.
Vad finns äntligen i Java?
I programmering kan det förekomma fel. Fel kan orsaka felaktiga utdata eller avbryta exekveringen av ett program. Det är viktigt att använda någon form av mekanism för att förhindra dessa oväntade resultat. Fel kan vara av två typer. De är kompilerade tidsfel och körtidsfel. Kompileringstidsfel uppstår på grund av syntaktiska fel. Några vanliga kompileringsfel saknar semikolon, saknade hängslen, felstavningsidentifierare, nyckelord och odeklarerade variabler. Kompilatorn kommer inte att skapa.class-filen förrän dessa fel är åtgärdade.
Ibland kan det finnas program som kompilerar ordentligt men som ger fel utdata. De kallas runtime errors. Några vanliga körtidsfel är att sänka ett heltal med noll och komma åt ett element som ligger utanför gränserna för en array. Dessa fel kommer inte att orsaka ett fel vid kompilering, men utdata är felaktig. Ett undantag är ett tillstånd som orsakas av ett körtidsfel i programmet.
När det finns ett körtidsfel skapar Java ett undantagsobjekt och kastar det. Om undantagsobjektet inte fångas ordentligt kommer det att visa ett felmeddelande och avsluta programmet. Om programmeraren vill fortsätta körningen av programmet med resten av koden, bör han fånga undantagsobjektet och visa det nödvändiga meddelandet för korrigerande åtgärder. Denna process kallas undantagshantering.
I Java används try för koden som sannolikt orsakar ett fel och skapar ett undantag. Fångsten används för att hantera undantaget från försöksblocket. Det kan finnas flera fångstsatser. Finally-satserna kan användas för att hantera ett undantag som inte fångas upp av någon av tidigare catch-satser. Slutligen blocket kommer att exekvera oavsett om ett undantag kastas eller inte. Se det givna exemplet.
int p=10, q=5, r=5;
int svar;
försök{
answer=p / (q – r);
}
catch (ArithmeticException e){
System.out.println(“Divided by noll”);
}
äntligen{
System.out.println(“Det slutliga blocket exekveras”);
}
Enligt exemplet ovan divideras värdet p med noll, och det kommer att orsaka ett undantag. Därför fångas den av fångstförklaringen. Det kommer att skriva ut meddelandet, dividerat med noll. Finalblocket kommer att exekveras oavsett om ett undantag inträffade eller inte. Efter meddelandet Delat med noll kommer meddelandet i finalblocket att visas. Därför används äntligen ett block vid undantagshantering.
Vad är finalize i Java?
I OOP skapas objekt med hjälp av klasser. Konstruktormetoden kan initiera ett objekt när det deklareras. Processen är känd som initialisering. Java har också ett koncept som kallas för finalisering. Java runtime är en automatisk sophämtare. Det frigör automatiskt minnesresurserna som används av objekten. Sophämtaren anropar denna metod innan föremålet förstörs.
Vissa objekt kan innehålla icke-objektresurser. Ett exempel är en filbeskrivning. I dessa situationer anropar sophämtaren finaliseringsmetoden. t.ex. avsluta(). Den här metoden utför saneringsbearbetning precis innan objektet samlas in som skräp.
Vad är likheten mellan final finally och finalize i Java?
All final, finally och finalize i Java används i Java-programmering
Vad är skillnaden mellan final finally och finalize i Java?
final vs final vs finalize |
|
final | Finalen är ett nyckelord i Java som förhindrar att variabler ändras, undviker metodöverstyrning och undviker att förlänga klasser. |
slutligen | Slutligen är ett block i Java-undantagshantering, som kommer att exekveras oavsett om ett undantag kastas eller inte. |
finalize | Färdigställningen är en metod i Java som anropas av sophämtaren innan den förstör objektet helt. |
Tillämpning | |
final | Finalen är tillämplig för variabler, metoder och klasser. |
slutligen | Slutligen gäller med ett försök och fånga block. |
finalize | Färdigställningen gäller för objekt. |
Sammanfattning – final vs finally vs finalize in Java
The final, finally och finalize är vanliga termer som används i Java-programmering. Deras ord verkar desamma, men de har en skillnad. Finalen är ett nyckelord som förhindrar att variabler ändras, undviker metodöverstyrning och undviker att utöka klasser. Slutligen är ett block i undantagshantering, som kommer att exekveras oavsett om ett undantag kastas eller inte. Finaliseringen är en metod som anropas av sopsamlaren innan den förstör föremålet helt. Det är skillnaden mellan final, final och finalize i Java-programmering.
Ladda ned PDF-filen för final vs finally vs finalize i Java
Du kan ladda ner PDF-versionen av den här artikeln och använda den för offlineändamål enligt citat. Ladda ner PDF-versionen här: Skillnaden mellan final finally och finalize in Java