Java千百問_03基本文法(011)final,finally,finalize何が違うの?


クリックしてその他Java千百問
1、final、finally、finalizeの違い
final、finallyはjavaのキーワードで、finalizeはjdkのメソッド名で、字面の意味は似ていますが、彼らの使用は全く違います.具体的には以下の通りです.
final
finalは修飾子キーワードです.クラスがfinalとして宣言されると、新しいサブクラスを派生させることができず、親として継承できないことを意味します.変数またはメソッドがfinalとして宣言されている場合、使用中に変更されないことを保証できます.finalとして宣言された変数は、宣言時に初期値を指定する必要がありますが、以降の参照では読み取りのみ、変更はできません.finalと宣言されたメソッドも同様に使用でき、再ロードできません.したがって、クラスはabstractとして宣言したりfinalとして宣言したりすることはできません.
finally
finallyは、tryの後に使用される異常関連キーワードであり、finallyブロック内のコードは、異常が発生したかどうかにかかわらず、すなわちcatchブロック内のコードが実行されたかどうかにかかわらず、常に実行されます.一般に、ジョブのクリーンアップ、リンクのクローズなどのタイプの文に使用されます.
finallyキーワードの使い方を理解するここを見てください:finallyキーワードの使い方finalize
finalizeはjdkメソッド名で、Objectクラスのprotectedメソッドです.ゴミ収集器がオブジェクトをメモリから消去する前に呼び出されます.デフォルトでは、ソースコードは次のとおりです.
protected void finalize() throws Throwable { }

このオブジェクトが参照されていないと判断した場合、ゴミ収集器はfinalize()を呼び出し、どのObjectのサブクラスもこのメソッドを上書きできます.
protectedキーワードを理解するここを見てください:public、privite、protectedはどんな違いがありますか理解方法はここをカバーします:javaの中でカバーするのは何ですか