final, final und finalize sind Schlüsselwörter in Java, die bei der Behandlung von Ausnahmen verwendet werden. Jedes dieser Schlüsselwörter hat eine andere Funktionalität. Der grundlegende Unterschied zwischen final, final und finalize besteht darin, dass final ein Zugriffsmodifizierer ist, final der Block in der Ausnahmebehandlung und finalize die Methode der Objektklasse ist.
Außerdem gibt es viele Unterschiede zwischen final, final und finalize. Nachfolgend finden Sie eine Liste der Unterschiede zwischen final, final und finalize:
Sr.-Nr. | Taste | Finale | endlich | abschließen |
---|---|---|---|---|
1. | Definition | final ist das Schlüsselwort und der Zugriffsmodifikator, der verwendet wird, um Beschränkungen auf eine Klasse, Methode oder Variable anzuwenden. | final ist der Block in der Java-Ausnahmebehandlung, um den wichtigen Code auszuführen, unabhängig davon, ob die Ausnahme auftritt oder nicht. | finalize ist die Methode in Java, die verwendet wird, um eine Bereinigungsverarbeitung durchzuführen, kurz bevor das Objekt der Garbage Collection unterzogen wird. |
2. | Anwendbar auf | Das Schlüsselwort final wird mit den Klassen, Methoden und Variablen verwendet. | Der Final-Block bezieht sich immer auf den Try-and-Catch-Block in der Ausnahmebehandlung. | finalize() Methode wird mit den Objekten verwendet. |
3. | Funktionalität | (1) Nach der Deklaration wird die Endvariable konstant und kann nicht geändert werden. (2) final-Methode kann nicht von der Unterklasse überschrieben werden. (3) Endklasse kann nicht vererbt werden. | (1) Schließlich führt der Block den wichtigen Code aus, selbst wenn eine Ausnahme auftritt oder nicht. (2) finally block bereinigt alle Ressourcen, die im try-Block verwendet werden | finalize-Methode führt die Reinigungsaktivitäten in Bezug auf das Objekt vor seiner Zerstörung durch. |
4. | Die Ausführung | Die letzte Methode wird nur ausgeführt, wenn wir sie aufrufen. | Der Final-Block wird ausgeführt, sobald der Try-Catch-Block ausgeführt wird.Seine Ausführung ist nicht von der Ausnahme abhängig. | finalize-Methode wird ausgeführt, kurz bevor das Objekt zerstört wird. |
Letztes Java-Beispiel
Betrachten wir das folgende Beispiel, in dem wir das letzte variable Alter deklarieren. Einmal deklariert, kann es nicht mehr geändert werden.
- öffentliche Klasse FinalExampleTest {
- // Endvariable deklarieren
- endgültiges Int -Alter = 18 ;
- ungültige Anzeige () {
- // Wert der Altersvariable neu zuweisen
- // gibt Kompilierzeitfehler
- Alter = 55 ;
- }
- public static void main(String[] args) {
- FinalExampleTest obj = new FinalExampleTest();
- // gibt Kompilierzeitfehler
- obj.display();
- }
- }
Ausgabe:
Im obigen Beispiel haben wir eine Variable final deklariert. Auf ähnliche Weise können wir die Methoden und Klassen mit dem Schlüsselwort final deklarieren.
Java endlich Beispiel
Sehen wir uns das folgende Beispiel an, in dem der Java-Code eine Ausnahme auslöst und der catch-Block diese Ausnahme behandelt. Später wird der finally-Block nach dem try-catch-Block ausgeführt. Außerdem wird der Rest des Codes ebenfalls normal ausgeführt.
- öffentliche Klasse EndlichBeispiel {
- public static void main(String args[]){
- versuche {
- System.out.println( “Innerhalb des Try-Blocks” );
- // Der folgende Code löst die Ausnahme Division by Zero aus
- int daten = 25 / 0 ;
- System.out.println (Daten);
- }
- // behandelt die Arithmetic Exception / Divide by zero Ausnahme
- catch (ArithmeticException e){
- System.out.println( “Ausnahme behandelt” );
- System.out.println(e);
- }
- // wird unabhängig davon ausgeführt, ob eine Ausnahme aufgetreten ist oder nicht
- endlich {
- System.out.println( “schließlich Block wird immer ausgeführt” );
- }
- System.out.println( “Rest des Codes…” );
- }
- }
Ausgabe:
Java-Finalisierungsbeispiel
- öffentliche Klasse FinalizeExample {
- public static void main(String[] args)
- {
- FinalizeExample obj = new FinalizeExample();
- // Drucken des Hashcodes
- System.out.println( “Hashcode ist: ” + obj.hashCode());
- obj = null ;
- // Garbage Collector mit gc() aufrufen
- System.gc();
- System.out.println( “Ende der Garbage Collection” );
- }
- // Finalize-Methode definieren
- geschützt void finalize()
- {
- System.out.println( “Die Methode finalize() aufgerufen” );
- }
- }
Ausgabe: