最終的な意味
Finalは、Javaの保持キーワードで、メンバーの変数、メソッド、クラスを宣言できます。ステートメントを最終タイプとして引用したら、この参照を再度変更することはありません。コンパイラは、変数をもう一度初期化しようとする場合、コンパイルエラーを報告します。
最終変数
誰でも、メソッドまたはコードブロックでは、メンバーシップ変数またはローカル変数の宣言が宣言されます。以下は、最終的な修飾子変数の例です。
final intvalue = 1; // constvalue = 2;
サプリメントポイント:
最終的な方法
ファイナルはメソッドを宣言することもできます。メソッド名は最終的なキーワードで追加されます。つまり、このメソッドはサブクラスで書き換えることはできません。メソッドの関数が完全であり、メソッドがサブクラスのメソッドを変更する必要がないと思われる場合は、最終タイプとしてメソッドを宣言できます。
ファイナルで宣言された方法は、コンパイル時に静的な結合があり、実行時に動的に結合する必要はないため、非臨床方法よりも速くなります。以下は、最終的な方法の例です。
public class person {public final void printname(){system.out.println( "wangzhengyi");}}}
最終クラス
クラス修正クラスは最終クラスと呼ばれます。通常、最終クラスは完了しており、継承することはできません。 Javaの多くのクラスは、文字列クラスなど、最終的なものです。
利用できないカテゴリの利点の1つは、それ自体がスレッドセキュリティであることです。利用できないカテゴリを作成するには、次の手順を達成する必要があります。
注:浅いコピーとディープコピーの違い:
浅いコピー(浅いクローニング):複製されたオブジェクトのすべての変数には、元のオブジェクトと同じ値が含まれており、他のすべてのオブジェクトの参照は元のオブジェクトを指しています。言い換えれば、基本的なタイプのオブジェクトのみがコピーされ、オブジェクトのタイプはまだ元の引用に属します。
ディープコピー(ディープクローン):すべてのコピーされた変数には、他のオブジェクトを引用する変数を除き、元のオブジェクトと同じ値が含まれています。他のオブジェクトを引用する変数は、コピーされた新しいオブジェクトを指し、元のオブジェクトが参照されなくなりました。言い換えれば、基本的なタイプのオブジェクトだけでなく、元のオブジェクトのオブジェクトも。
致命的な例:
Import Java.util.itrator; string getname(){return name;} / *** return object* @return* / public hashmap <integer> gethmap(){rashmap <integer>)hmap。 );} / ***ディープコピーのコンストラクター* / public finalclassexample(int id、hashmap <integer> map){this.id = id; tmap = new hashmap <integer>(); 、map.get(key));} this.hmap = tmap;} /***浅いコピーの実装* / /* public finalclassexample(int id、string name、hashmap <intt eger、string> map){this .id = id; name = name;} */}最終的なキーワードの利点
最終キーワードを使用することの利点は次のとおりです。