"Final" bedeutet, dass etwas nicht geändert werden kann. Normalerweise möchten Sie dies für statische Variablen verwenden, die während der gesamten Lebensdauer Ihres Programms denselben Wert haben.
"Endlich" wird in Verbindung mit einem Try / Catch-Block verwendet. Alles innerhalb der "finally" -Klausel wird ausgeführt, unabhängig davon, ob der Code im 'try'-Block eine Ausnahme auslöst oder nicht.
"Finalize" wird von der JVM aufgerufen, bevor ein Objekt im Müll gesammelt wird.
Das letzte Schlüsselwort wird verwendet, um Konstanten zu deklarieren.
finalint FILE_TYPE =3;
Das Schlüsselwort finally wird in einer try catch-Anweisung verwendet, um einen Codeblock anzugeben, der unabhängig von ausgelösten Ausnahmen ausgeführt werden soll.
try{//stuff}catch(Exception e){//do stuff}finally{//this is always run}
Und schließlich (haha) ist finalize im nicht ganz sicher, ob es sich um ein Schlüsselwort handelt, aber es gibt eine finalize () -Funktion in der Object-Klasse.
finally - Der finally-Block wird immer ausgeführt, wenn der try-Block beendet wird, mit Ausnahme des Aufrufs System.exit (0). Dadurch wird sichergestellt, dass der finally-Block auch dann ausgeführt wird, wenn eine unerwartete Ausnahme auftritt. Aber schließlich ist es nicht nur für die Ausnahmebehandlung nützlich - es ermöglicht dem Programmierer zu vermeiden, dass der Bereinigungscode versehentlich durch eine Rückgabe umgangen, fortgesetzt oder unterbrochen wird. Das Einfügen von Bereinigungscode in einen finally-Block ist immer eine gute Vorgehensweise, auch wenn keine Ausnahmen zu erwarten sind.
finalize () - Methode hilft bei der Speicherbereinigung. Eine Methode, die aufgerufen wird, bevor ein Objekt vom Garbage Collector verworfen wird, damit es seinen Status bereinigen kann. Sollte nicht zum Freigeben von Nicht-Speicherressourcen wie Dateihandles, Sockets, Datenbankverbindungen usw. verwendet werden, da Java nur über eine begrenzte Anzahl dieser Ressourcen verfügt und Sie nicht wissen, wann die Garbage Collection aktiviert wird, um diese Nicht-Speicherressourcen freizugeben durch die finalize () Methode.
Haben Sie versucht, auf Google zu suchen, und benötigen eine Erläuterung?
Willkommen bei Stack Overflow! Während dieser Artikel tatsächlich die Frage beantworten kann, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Der Stapelüberlauf ist nur so nützlich wie seine Fragen und Antworten. Wenn dieser Blog-Host ausfällt oder URLs verschoben werden, wird diese Antwort unbrauchbar. Vielen Dank!
Sarnold
6
final:
final ist ein Schlüsselwort. Die als final deklarierte Variable sollte nur einmal initialisiert werden und kann nicht geändert werden. Als final deklarierte Java-Klassen können nicht erweitert werden. Als final deklarierte Methoden können nicht überschrieben werden.
endlich:
endlich ist ein block. Der finally-Block wird immer ausgeführt, wenn der try-Block beendet wird. Dadurch wird sichergestellt, dass der finally-Block auch dann ausgeführt wird, wenn eine unerwartete Ausnahme auftritt. Aber schließlich ist es nicht nur für die Ausnahmebehandlung nützlich - es ermöglicht dem Programmierer zu vermeiden, dass der Bereinigungscode versehentlich durch eine Rückgabe umgangen, fortgesetzt oder unterbrochen wird. Das Einfügen von Bereinigungscode in einen finally-Block ist immer eine gute Vorgehensweise, auch wenn keine Ausnahmen zu erwarten sind.
finalize:
finalize ist eine Methode. Bevor ein Objekt durch Müll gesammelt wird, ruft das Laufzeitsystem seine finalize () -Methode auf. Sie können den Freigabecode für Systemressourcen in die Methode finalize () schreiben, bevor Sie den Müll sammeln.
1. Final
• Final wird verwendet, um Einschränkungen für Klasse, Methode und Variable anzuwenden. • Die endgültige Klasse kann nicht vererbt werden, die endgültige Methode kann nicht überschrieben werden und der endgültige Variablenwert kann nicht geändert werden. • Die endgültigen Variablen werden zum Zeitpunkt der Erstellung initialisiert, außer im Fall einer leeren endgültigen Variablen, die im Konstruktor initialisiert wird. • Final ist ein Schlüsselwort.
2. Schließlich
• Wird schließlich für die Ausnahmebehandlung zusammen mit try and catch verwendet. • Es wird ausgeführt, ob eine Ausnahme behandelt wird oder nicht. • Dieser Block wird verwendet, um Ressourcen wie Datenbankverbindung und E / A-Ressourcen zu schließen. • Schließlich ist ein Block.
3. Finalisieren
• Finalisieren wird vom Garbage Collection-Thread unmittelbar vor dem Sammeln berechtigter Objekte aufgerufen, um die Bereinigungsverarbeitung durchzuführen. • Dies ist die letzte Möglichkeit für das Objekt, eine Bereinigung durchzuführen. Da jedoch nicht garantiert werden kann, ob finalize () aufgerufen wird, ist es eine schlechte Praxis, die Ressource bis zum Abschluss des Aufrufs zu behalten. • Finalisieren ist eine Methode.
Die Bedeutung von final in Java ist: - Auf eine Variable angewendet bedeutet, dass die jeweilige Variable nach der Initialisierung nicht mehr geändert werden kann
privatefinaldouble numer =12;
Wenn Sie versuchen, diesen Wert zu ändern, wird eine Fehlermeldung angezeigt.
-auf eine Methode angewendet bedeutet, dass die jeweilige Methode nicht überschrieben werden kann
publicfinalvoid displayMsg(){System.out.println("I'm in Base class - displayMsg()");}
Die endgültige Methode kann jedoch vererbt werden, da das Schlüsselwort final die Neudefinition der Methode einschränkt.
- Auf eine Klasse angewendet bedeutet, dass die jeweilige Klasse nicht erweitert werden kann.
classBase{publicvoid displayMsg(){System.out.println("I'm in Base class - displayMsg()");}}
Die Bedeutung von endlich ist:
classTestFinallyBlock{publicstaticvoid main(String args[]){try{int data=25/5;System.out.println(data);}catch(NullPointerException e){System.out.println(e);}finally{System.out.println("finally block is always executed");}System.out.println("rest of the code...");}}
Selbst wenn in diesem Beispiel der Try-Catch ausgeführt wird oder nicht, wird immer ausgeführt, was sich in finally befindet. Die Bedeutung von finalize:
Antworten:
Finale
final
kann verwendet werden, um eine Variable als "unveränderlich" zu markieren.final
kann auch eine Methode nicht "überschreibbar" machenfinal
kann auch eine Klasse nicht "vererbbar" machen. dh die Klasse kann nicht untergeordnet werden.endlich
finally
wird in einer try / catch-Anweisung verwendet, um Code "immer" auszuführen.Java 7 hat einen neuen Versuch mit einer Ressourcenanweisung , mit der Sie Ressourcen automatisch schließen können, die java.io.Closeable oder explizit oder implizit implementieren java.lang.AutoCloseable
finalisieren
finalize
wird aufgerufen, wenn ein Objekt durch Müll gesammelt wird. Sie müssen es selten überschreiben. Ein Beispiel:quelle
Object#finalize()
Methode war in Java 9 ( JDK-8165641 ) veraltet .quelle
Das letzte Schlüsselwort wird verwendet, um Konstanten zu deklarieren.
Das Schlüsselwort finally wird in einer try catch-Anweisung verwendet, um einen Codeblock anzugeben, der unabhängig von ausgelösten Ausnahmen ausgeführt werden soll.
Und schließlich (haha) ist finalize im nicht ganz sicher, ob es sich um ein Schlüsselwort handelt, aber es gibt eine finalize () -Funktion in der Object-Klasse.
quelle
http://allu.wordpress.com/2006/11/08/difference-between-final-finally-and-finalize/
Haben Sie versucht, auf Google zu suchen, und benötigen eine Erläuterung?
quelle
final: final ist ein Schlüsselwort. Die als final deklarierte Variable sollte nur einmal initialisiert werden und kann nicht geändert werden. Als final deklarierte Java-Klassen können nicht erweitert werden. Als final deklarierte Methoden können nicht überschrieben werden.
endlich: endlich ist ein block. Der finally-Block wird immer ausgeführt, wenn der try-Block beendet wird. Dadurch wird sichergestellt, dass der finally-Block auch dann ausgeführt wird, wenn eine unerwartete Ausnahme auftritt. Aber schließlich ist es nicht nur für die Ausnahmebehandlung nützlich - es ermöglicht dem Programmierer zu vermeiden, dass der Bereinigungscode versehentlich durch eine Rückgabe umgangen, fortgesetzt oder unterbrochen wird. Das Einfügen von Bereinigungscode in einen finally-Block ist immer eine gute Vorgehensweise, auch wenn keine Ausnahmen zu erwarten sind.
finalize: finalize ist eine Methode. Bevor ein Objekt durch Müll gesammelt wird, ruft das Laufzeitsystem seine finalize () -Methode auf. Sie können den Freigabecode für Systemressourcen in die Methode finalize () schreiben, bevor Sie den Müll sammeln.
quelle
1. Final • Final wird verwendet, um Einschränkungen für Klasse, Methode und Variable anzuwenden. • Die endgültige Klasse kann nicht vererbt werden, die endgültige Methode kann nicht überschrieben werden und der endgültige Variablenwert kann nicht geändert werden. • Die endgültigen Variablen werden zum Zeitpunkt der Erstellung initialisiert, außer im Fall einer leeren endgültigen Variablen, die im Konstruktor initialisiert wird. • Final ist ein Schlüsselwort.
2. Schließlich • Wird schließlich für die Ausnahmebehandlung zusammen mit try and catch verwendet. • Es wird ausgeführt, ob eine Ausnahme behandelt wird oder nicht. • Dieser Block wird verwendet, um Ressourcen wie Datenbankverbindung und E / A-Ressourcen zu schließen. • Schließlich ist ein Block.
3. Finalisieren • Finalisieren wird vom Garbage Collection-Thread unmittelbar vor dem Sammeln berechtigter Objekte aufgerufen, um die Bereinigungsverarbeitung durchzuführen. • Dies ist die letzte Möglichkeit für das Objekt, eine Bereinigung durchzuführen. Da jedoch nicht garantiert werden kann, ob finalize () aufgerufen wird, ist es eine schlechte Praxis, die Ressource bis zum Abschluss des Aufrufs zu behalten. • Finalisieren ist eine Methode.
quelle
Die Bedeutung von final in Java ist: - Auf eine Variable angewendet bedeutet, dass die jeweilige Variable nach der Initialisierung nicht mehr geändert werden kann
Wenn Sie versuchen, diesen Wert zu ändern, wird eine Fehlermeldung angezeigt.
-auf eine Methode angewendet bedeutet, dass die jeweilige Methode nicht überschrieben werden kann
Die endgültige Methode kann jedoch vererbt werden, da das Schlüsselwort final die Neudefinition der Methode einschränkt.
- Auf eine Klasse angewendet bedeutet, dass die jeweilige Klasse nicht erweitert werden kann.
Die Bedeutung von endlich ist:
Selbst wenn in diesem Beispiel der Try-Catch ausgeführt wird oder nicht, wird immer ausgeführt, was sich in finally befindet. Die Bedeutung von finalize:
bevor Sie den Garbage Collector anrufen.
quelle