logo

ファイナル、ファイナル、ファイナライズの違い

Final、finally、finalize は、例外処理で使用される Java のキーワードです。これらのキーワードにはそれぞれ異なる機能があります。 Final、Finalize、Finalize の基本的な違いは、 最後の はアクセス修飾子です。 ついに 例外処理のブロックであり、 仕上げる オブジェクトクラスのメソッドです。

これに加えて、final、finally、finalize の間には多くの違いがあります。 Final、finally、finalize の違いのリストを以下に示します。

いいえさん。 最後の ついに 仕上げる
1. 意味 Final は、クラス、メソッド、または変数に制限を適用するために使用されるキーワードおよびアクセス修飾子です。 最後に、Java 例外処理のブロックで、例外が発生したかどうかに関係なく重要なコードを実行します。 Finalize は Java のメソッドで、オブジェクトがガベージコレクションされる直前にクリーンアップ処理を実行するために使用されます。
2. 適用対象 Final キーワードは、クラス、メソッド、変数で使用されます。 Final ブロッ​​クは常に、例外処理の try および catch ブロックに関連しています。 オブジェクトでは、finalize() メソッドが使用されます。
3. 機能性 (1) 一度宣言すると、final 変数は定数となり変更できなくなります。
(2) Final メソッドをサブクラスでオーバーライドすることはできません。
(3) 最終クラスは継承できません。
(1) 例外が発生してもしなくても、finally ブロックは重要なコードを実行します。
(2)finally ブロックは、try ブロックで使用されたすべてのリソースをクリーンアップします。
Finalize メソッドは、オブジェクトが破棄される前に、オブジェクトに対してクリーニング アクティビティを実行します。
4. 実行 Final メソッドは呼び出したときにのみ実行されます。 try-catch ブロックが実行されるとすぐに、最後のブロックが実行されます。

その実行は例外に依存しません。

オブジェクトが破棄される直前に、finalize メソッドが実行されます。

Java の最終的な例

最終変数 age を宣言する次の例を考えてみましょう。一度宣言すると変更することはできません。

FinalExampleTest.java

 public class FinalExampleTest { //declaring final variable final int age = 18; void display() { // reassigning value to age variable // gives compile time error age = 55; } public static void main(String[] args) { FinalExampleTest obj = new FinalExampleTest(); // gives compile time error obj.display(); } } 

出力:

ファイナル、ファイナル、ファイナライズの違い

上の例では、変数finalを宣言しました。同様に、final キーワードを使用してメソッドとクラスを Final として宣言できます。

Java の最終的な例

Java コードが例外をスローし、catch ブロックがその例外を処理する以下の例を見てみましょう。その後、try-catch ブロックの後に、finally ブロックが実行されます。さらに、コードの残りの部分も通常どおり実行されます。

最後にExample.java

 public class FinallyExample { public static void main(String args[]){ try { System.out.println('Inside try block'); // below code throws divide by zero exception int data=25/0; System.out.println(data); } // handles the Arithmetic Exception / Divide by zero exception catch (ArithmeticException e){ System.out.println('Exception handled'); System.out.println(e); } // executes regardless of exception occurred or not finally { System.out.println('finally block is always executed'); } System.out.println('rest of the code...'); } } 

出力:

ファイナル、ファイナル、ファイナライズの違い

Java ファイナライズの例

FinalizeExample.java

 public class FinalizeExample { public static void main(String[] args) { FinalizeExample obj = new FinalizeExample(); // printing the hashcode System.out.println('Hashcode is: ' + obj.hashCode()); obj = null; // calling the garbage collector using gc() System.gc(); System.out.println('End of the garbage collection'); } // defining the finalize method protected void finalize() { System.out.println('Called the finalize() method'); } } 

出力:

ファイナル、ファイナル、ファイナライズの違い