スポンサードリンク
HOME > Java > クラス機能 ファイナライザ

Java - クラス機能 ファイナライザ

クラスのメンバ関数には、特殊なモノが存在します。

コンストラクタファイナライザです。

ここではファイナライザについて説明します。(コンストラクタについてはコチラ。)



コンストラクタは、クラスのインスタンス作成時に

自動的に呼ばれる特殊なメンバ関数でしたが、

ファイナライザは、そのインスタンスが破棄される直前に自動的に

呼ばれる特殊なメンバ関数です。故意に呼ぶ事もできますが、推奨しません。

ファイナライザで行う処理はほとんどありません

 ファイナライザの名前は、finalizeとなります。

引数はなしで、戻り値はvoid固定です。

ファイナライザ利用例

ファイル名:Cmain.java
class Ctest {

   public Ctest() {
      System.out.println("コンストラクタ呼び出し");
   }

   
public void finalize() {
      System.out.println("ファイナライザ呼び出し");      
   }
}

public class Cmain {
   public static void main(String[] args) {
      Ctest obj = new Ctest();

   }
}


この例では、クラスCtestのインスタンスを作成しただけのプログラムです。

まず、インスタンス作成時にはコンストラクタが呼ばれます。

そして、ファイナライザは、そのインスタンスがもうプログラム上で使われない

と判断されれば、呼び出されます。

このプログラムでは、

main関数を抜けるとクラスCtestのインスタンスobjが使用できなくなるので、

その時点で呼ばれる事になります。

 ファイナライザの動作を確認したい場合は、このプログラム例を実行してみて下さい。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved