Was ist die finalize()-Methode in Java und wie kann man sie überschreiben?

Was Ist Die Finalize Methode In Java Und Wie Kann Man Sie Uberschreiben



Java bietet dem Entwickler eine großartige Funktionalität zur effektiven Verwaltung der Systemressourcen. In einem solchen Szenario ist die „ finalisieren() ”-Methode in Kraft tritt, die die Systemressourcen freigibt, bevor der Garbage Collector für ein bestimmtes Objekt ausgeführt wird. Die „Java Virtual Machine (JVM)“ erlaubt jedoch den Aufruf der Methode „finalize()“ einmal pro Objekt.

In diesem Blog wird die Verwendung und Überschreibung der Methode „finalize()“ erläutert.







Was ist die Java-Methode „finalize()“ und wie kann man sie überschreiben?

Der ' finalisieren() „Methode der“ Objekt Die Klasse „Garbage Collector“ wird unmittelbar vor dem Löschen des für die Garbage Collection geeigneten Objekts aufgerufen, um die Bereinigungsaufgabe anzuwenden.



Syntax



geschützte Leere finalisieren ( ) wirft Throwable





In dieser Syntax: „ geschützt „ ist ein Zugriffsspezifizierer, der impliziert, dass auf diese Methode nur innerhalb der Klasse und der abgeleiteten Klassen dieser Klasse zugegriffen werden kann.

Beispiel 1: Anwenden der Methode „finalize()“ in Java



Dieses Beispiel veranschaulicht die Verwendung der Methode „finalize()“:

öffentliche Klasse Finalize2 {
geschützte Leere finalisieren ( ) {
System.out.println ( „Dies ist die Finalize-Methode!“ ) ;
}
Public static void Main ( Zeichenfolge [ ] args ) {
Finalize2-Objekt = neues Finalize2 ( ) ;
Objekt = null;
System.gc ( ) ;
System.out.println ( „Garbage Collector wird aufgerufen!“ ) ;
} }

In den obigen Codezeilen:

  • Wende an ' finalisieren() ”-Methode innerhalb der Klasse „Finalize2“, die die angegebene Anweisung enthält.
  • In ' hauptsächlich “, erstellen Sie ein Klassenobjekt über den Konstruktor „Finalize2()“.
  • Weisen Sie nun einem Objekt ein „ Null ' Wert. Wenn es einen „Null“-Wert hat, gibt es keine Referenz und ist daher für die Garbage Collection geeignet.
  • Wenden Sie danach das „ System.gc () ”-Methode, um den Garbage Collector auszuführen und damit die Methode „finalize()“ aufzurufen.

Ausgang

Hier kann überprüft werden, ob die Methode „finalize()“ ordnungsgemäß aufgerufen wird.

Beispiel 2: Überschreiben der Java-Methode „finalize()“.

Der ' Objekt „Klasse entspricht der übergeordneten Klasse aller Java-Klassen. Die in dieser Klasse vorhandene Methode „finalize()“ hat keine Implementierung. In der Klassendefinition sind jedoch die Aufräumaktivitäten vorhanden. Daher führt das Überschreiben dieser Methode zur Durchführung der definierten Bereinigungsaktivitäten:

öffentliche Klasse Finalisieren {
geschützte Leere finalisieren ( ) wirft Throwable {
versuchen {
System.out.println ( „Die finalize()-Methode der Klasse“ ) ;
}
fangen ( Wurfbar, außer ) {
werfen außer;
}
Endlich {
System.out.println ( „Aufrufen der finalize()-Methode der Object-Klasse“ ) ;
super.finalisieren ( ) ;
} }
Public static void Main ( Zeichenfolge [ ] args ) wirft Throwable {
Finalize obj = new Finalize ( ) ;
obj.finalize ( ) ;
} }

Gemäß dem obigen Codeblock:

  • Präzisiere das ' finalisieren() ”-Methode und deklarieren Sie die „ Wurfbar ” Ausnahme bzw.
  • Im ' versuchen ”-Block, geben Sie die angegebene Anweisung an und behandeln Sie die Ausnahme im „ fangen ' Block.
  • Im ' Endlich ”-Block, der „ super Das Schlüsselwort „zeigt auf die Methode „finalize()“ der Objektklasse. Es wird in diesem speziellen Block angewendet, um die Ausführung der Methode „finalize()“ auch dann sicherzustellen, wenn eine Ausnahme auftritt.
  • In ' hauptsächlich “, erstellen Sie ein Klassenobjekt und überschreiben Sie die Methode „finalize()“ der Objektklasse mit der in der Klasse „Finalize“ angegebenen/definierten Methode.

Ausgang

In diesem Ergebnis kann beobachtet werden, dass die Methode „finalize()“ erfolgreich überschrieben wurde.

Abschluss

Der ' finalisieren() Die Methode „Garbage Collector“ wird vor dem Löschen des Objekts aufgerufen und kann mit der Methode „ überschrieben werden. super ' Stichwort. In diesem Blog wurde die Verwendung und Überschreibung der Methode „finalize()“ in Java erläutert.