1. 概要
継承を学習すると、サブクラスが親クラスに基づいて親クラスの内容を書き換えることができることがわかりました。 、メソッドのオーバーライドなど。では、APIで提供されているクラスを自由に継承して、その内容を書き換えることはできるのでしょうか?明らかにこれは不適切です。この種のランダムな書き換えを回避するために、Java は変更不可能なコンテンツを変更するための Final を提供します。
最終: 変更不可。クラス、メソッド、変数の変更に使用できます。
クラス: 変更されたクラスは継承できません。
メソッド: 変更されたメソッドはオーバーライドできません。
変数: 変更された変数は再割り当てできません。
無料の学習ビデオ チュートリアルを共有します: java ビデオ チュートリアル
2. 使用方法
修正クラス
形式は次のとおりです:
API をクエリして、public class Final String
、 などを見つけます。 public class Final Math,
public class Final Scanner
など、私たちが研究したクラスの多くは、final によって変更されています。その目的は私たちが使用するためであり、その変更を許可しません。内容は自由自在。
変更メソッド
形式は次のとおりです:
注: 変更されたメソッドをオーバーライドします。 fianl を使用すると、コンパイル時にエラーが報告されます。
変更された変数
1. ローカル変数 - 基本タイプ
基本タイプのローカル変数には、変更された後でのみ値を割り当てることができます。最終的に変更されます。一度変更すると、再度変更することはできません。コードは次のとおりです。
次の 2 つの書き方を考えてください。どちらがコンパイル可能でしょうか。
書き方1:
書き方2:
finalの定義による、方法 1 を書くとエラーが報告されます。書き方2、なぜコンパイルするのか?ループするたびに新しい変数 c が存在するためです。これは誰もが注意を払う必要があることでもあります。
2. ローカル変数 - 参照型
参照型のローカル変数は、final によって変更された後、1 つのオブジェクトのみを指すことができ、アドレスは変更できません。ただし、オブジェクト内のメンバー変数値の変更には影響しません。
コードは次のとおりです:
3. メンバー変数
メンバー変数には初期化の問題と初期化が関係します。メソッドには 2 つのタイプがあり、選択できるのは 1 つだけです。
#表示の初期化
コンストラクターの初期化
注: Final によって変更された定数名には通常、記述仕様があり、すべての文字が大文字になります。
関連するチュートリアルをさらに学習したい場合は、Java 開発入門
を参照してください。以上がJava学習への道 - 最後のキーワードを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。