English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java finalキーワードの詳細:
前書き:
Javaのfinalキーワードは非常に重要で、クラス、メソッド、変数に適用できます。この記事では、finalキーワードとは何か、変数、メソッド、クラスをfinalとして宣言することの意味、finalを使用する利点について説明します。最後に、finalキーワードの使用例もあります。finalはよくstaticと一緒に使用され、定数を宣言するために使用されます。また、finalがアプリケーションのパフォーマンスをどのように改善するかも見てみましょう。
finalキーワードの意味63;
finalはJavaで保留されたキーワードであり、メンバー変数、メソッド、クラス、ローカル変数を宣言できます。参照をfinalとして宣言すると、その参照を変更することができなくなります。コンパイラはコードをチェックし、変数を再初期化しようとするとコンパイルエラーが報告されます。
final変数とは何ですか?
メンバー変数またはローカル変数(メソッド内またはコードブロック内の変数をローカル変数と呼びます)がfinalとして宣言された場合、final変数と呼ばれます。final変数はよくstaticキーワードと一緒に使用され、定数として使用されます。以下はfinal変数の例です:
public static final String LOAN = "loan"; LOAN = new String("loan") //無効なコンパイルエラー
final変数は読み取り専用です。
finalメソッドとは何ですか?63;
finalキーワードで宣言することで、メソッドを宣言できます。finalキーワードがついたメソッドは、子クラスのメソッドでオーバーライドできません。もしあのメソッドの機能が十分に完全で、子クラスで変更する必要がないと考えた場合、そのメソッドをfinalとして宣言できます。finalメソッドは非finalメソッドよりも速く動作します。なぜなら、コンパイル時に既に静的にバインドされているため、実行時の動的バインドは必要ありません。以下はfinalメソッドの例です:
class PersonalLoan{ public final String getName(){ return "personal loan"; } } class CheapPersonalLoan extends PersonalLoan{ @Override public final String getName(){ return "cheap personal loan"; //コンパイルエラー:オーバーライドされたメソッドがfinalです } }
finalクラスとは何ですか?
finalキーワードで修飾されたクラスはfinalクラスと呼ばれます。finalクラスは通常完全な機能を持っており、継承することはできません。JavaにはString、Interger、その他の包装クラスなど、多くのfinalクラスがあります。以下はfinalクラスの例です:
final class PersonalLoan{ } class CheapPersonalLoan extends PersonalLoan{ //コンパイルエラー:finalクラスからの継承ができません }
finalキーワードの利点
以下にfinalキーワードの使用による利点をまとめました
不可変クラス
不可変クラスを作成するにはfinalキーワードを使用します。不可変クラスとは、一旦作成されると変更できないクラスです。Stringは不可変クラスの代表です。不可変クラスには多くの利点があります。例えば、そのオブジェクトは読み取り専用であり、マルチスレッド環境で安全に共有できます。また、追加のシンクロナイズのコストは必要ありません。
finalに関する重要なポイント
private final int COUNT = 10;
集合オブジェクトがfinalと宣言されている場合、参照は変更できませんが、追加、削除、または内容を変更することができます。例えば:
private final List Loans = new ArrayList(); list.add(“home loan”); //valid list.add("personal loan"); //valid loans = new Vector(); //not valid
final変数、finalメソッド、finalクラスが何かを知っています。必要なときにfinalを使用すると、より速くて良いコードを書くことができます。
読んでいただきありがとうございます。皆様のサポートに感謝します!