ファイナルは、定数を宣言するために静的でよく使用されます。また、ファイナルがアプリケーションのパフォーマンスを改善する方法も確認できます。
最終キーワードの意味は何ですか?
FinalはJavaの予約されたキーワードで、メンバーの変数、メソッド、クラス、およびローカル変数を宣言できます。参照をファイナルとして宣言すると、リファイルがコードをチェックすることはできません。変数をもう一度初期化しようとすると、コンパイラはコンパイルエラーを報告します。
最終変数とは何ですか?
任意のメンバー変数またはローカル変数(メソッドまたはコードブロックの変数はローカル変数と呼ばれます)は、最終変数と呼ばれます。最終変数は、定数として静的キーワードと一緒に使用されることがよくあります。これが最終変数の例です。
コードコピーは次のとおりです。
public static final string loan = "loan";
loan = new String( "Loan")//無効なコンパイルエラー
最終変数は読み取り専用です。
最終的な方法は何ですか?
ファイナルはメソッドを宣言することもできます。最終的なキーワードはメソッドの前に追加されます。つまり、この方法はサブクラスメソッドでは書き換えられません。メソッドの機能が十分に完成しており、サブクラスで変更する必要がないと思われる場合は、このメソッドを最終的に宣言できます。最終的な方法は、コンピレーション中に既に静的にバインドされており、実行時に動的にバインドする必要がないため、非ファイナル方法よりも高速です。ここに最終的な方法の例があります。
コードコピーは次のとおりです。
クラスのanderalloan {
public final string getname(){
「個人ローン」を返します。
}
}
Class Cheappersonalloanはanderalloanを拡張します{
@オーバーライド
public final string getname(){
「安い個人ローン」を返します
}
}
最終クラスは何ですか?
ファイナルを使用して変更を使用するクラスは、最終クラスと呼ばれます。通常、最終クラスは機能的に完了し、継承することはできません。 Javaには、弦、インターガー、その他のラッパークラスなど、最終的なクラスがたくさんあります。これが最終クラスの例です。
コードコピーは次のとおりです。
最終クラスのandalloan {
}
Class CheapersonalloanはPersonalloanを拡張します{//コンピレーションエラー:最終クラスから継承できません
}
最終キーワードを使用することの利点の一部は次のとおりです
最終的なキーワードはパフォーマンスを向上させます。 JVMとJavaアプリケーションの両方が最終変数をキャッシュします。
最終的な変数は、追加の同期オーバーヘッドを必要とせずに、マルチスレッド環境で安全に共有できます。
最終的なキーワードを使用して、JVMはメソッド、変数、クラスを最適化します。
不変のクラス
不変のクラスを作成するには、最終的なキーワードを使用します。不変のクラスとは、オブジェクトが作成されると変更できないことを意味します。文字列は不変のクラスの代表です。不変のクラスには、オブジェクトが読み取り専用であり、追加の同期オーバーヘッドなどなしでマルチスレッド環境で安全に共有できるなど、多くの利点があります。
関連する読書:なぜ文字列が不変であるのか、そして不変のクラスを書く方法。
最終に関する重要な知識
最後のキーワードは、メンバー変数、ローカル変数、メソッド、クラスに使用できます。
最終的なメンバー変数は、宣言時またはコンストラクターで初期化する必要があります。そうしないと、コンパイルエラーが報告されます。
最終変数を再度割り当てることはできません。
ローカル変数は、宣言時に値を割り当てる必要があります。
匿名クラスのすべての変数は最終変数でなければなりません。
最終的な方法を書き直すことはできません。
最終クラスを継承することはできません。
最終的なキーワードは、例外処理に使用される最終キーワードとは異なります。
最終的なキーワードは、Objectクラスで定義されたメソッドであり、Garbage Collectionの前にJVMによって呼び出されるメソッドです。
インターフェイスで宣言されたすべての変数自体が最終的です。
2つのキーワードの最終と要約は逆に関連しているため、最終クラスを抽象化することはできません。
最終的な方法は、静的結合と呼ばれるコンピレーション段階でバインドされています。
宣言で最終変数を初期化しない空白の最終変数は、ブランクの最終変数と呼ばれるか、この()は初期化されます。これを行わない場合、コンパイラは「最終変数(変数名)を初期化する必要がある」エラーを報告します。
クラス、方法、変数を最終的に宣言することで、パフォーマンスを改善できるため、JVMは推定して最適化する機会があります。
Java Code Conventionによると、最終変数は定数であり、通常、定数は大文字です。
プライベートファイナルint count = 10;
コレクションオブジェクトのファイナルを宣言することは、参照を変更できないことを意味しますが、コンテンツを追加、削除、または変更できます。例えば:
プライベート最終リストローン= new ArrayList();
list.add( "住宅ローン");
list.add( "パーソナルローン");
loans = new Vector();
最終変数、最終的な方法、最終クラスがどのようなものであるかはすでにわかっています。必要に応じて最終的に使用して、より速く、より良いコードを書き込みます。