Java の Final キーワードについてどれくらい知っていますか?
初心者にとって、Tomcat は JSP とサーブレットを実行するのに非常に良い選択肢です。レジンを使用することもできますが、どちらも費用はかかりません。レジンの Xml サポートは非常に優れています。
1. 基本データメンバのfinalを変更する
これがC/Cのconstと同等の意味を持ち、メンバを定数として変更します。つまり、変更できないということです。たとえば、java.lang.Math クラスの PI と E は最終メンバーであり、その値は 3.141592653589793 と 2.718281828459045 です。
2. 修飾子またはオブジェクトの最終
Java では、オブジェクトを最終に変更することはできませんが、オブジェクトの参照のみを変更できます。 write public Final A a = new A(); 実際、a が指すオブジェクトのデータは変更できません。つまり、a 自体の参照値は変更できません。同じ状況が public Final int[] a = {1, 2, 3, 4, 5} などの配列でも発生します。実際、a の値は変更可能です。つまり、a[0] = 3 と書き込むことができます。 。現在の理解によれば、Java では配列内のデータを変更不可能に変更することはできませんが、C/C では変更できます。
3. 変更されたメソッドの最後は、C/C でメンバー オブジェクトを変更するために使用される const とは大きく異なります。まず、変更されたメソッドの最終的な意味は「変更不可」ではなく、継承されたメンバーによってメソッドを再定義できないことを意味します。 (ここで再定義できないと言っているのは、サブクラスが同じ名前のメソッドを定義してはいけないという意味ではないことに注意してください。親クラスのメソッドがプライベート型の場合、サブクラスはメソッドを定義できます。ここで意味するのは、 A a = new B(); のようなメソッドのオーバーライドの状況を発生させたくない場合は、メソッドを書き換えることでメソッドのオーバーライドを実現できます。 #例:
public class A { // final方法f public final void f() { System.out.println("类A中的final方法f被调用了"); } } public class B extends A { // 编译错误!父类的f方法是final类型,不可重写! //! public void f() { //! System.out.println("类B中的方法f被调用了"); //! } }
また、メソッドが最終メソッドとして変更される場合、コンパイラーはそのメソッドをインライン (インライン) でロードする可能性があることを意味します。いわゆるインライン メソッドは、コンパイラーが必要としないことを意味します。通常の方法で関数を呼び出す場合、メソッドを呼び出す場合は、代わりに、特定の変更を行った後、メソッド内のコードを元のコードに直接コピーします (メソッド呼び出しを行う代わりにメソッド本体を呼び出しポイントに直接挿入します)。これにより、int[] arr = new int[3] での arr.length() の呼び出しなど、コードの実行が高速化されます (関数呼び出しのオーバーヘッドが省略されるため)。
一方、プライベート メソッドもコンパイラによって暗黙的に Final として変更されます。つまり、private Final void f() と private void f() の間に違いはありません。
4. 変更されたクラスの Final
クラスが Final として変更された場合、その意味は明確です。つまり、このクラスは継承が許可されていません。が "absolutely" である場合、それを継承する操作はすべてコンパイル エラーで終了します。これは、Java が識別子として const ではなく Final を使用する理由も強調しています。 (メンバー変数はfinalではなく、メンバーメソッドは直接finalである可能性があります)
例:
public final class A { } // 编译错误!A是final类型,不可被继承! //!public class B extends A{ //!}
5. パラメータfinal
をfinalにします。オブジェクトパラメータ グルーミング。オブジェクト変数にはその参照が渡され、呼び出しプロセス中の意図しない変更を防ぐために変更されていると考えられます。
関連する推奨事項:
JAVA/JSP 学習シリーズ Three_php の基礎以上がJava の Final キーワードについてどれくらい知っていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Java のアームストロング番号に関するガイド。ここでは、Java でのアームストロング数の概要とコードの一部について説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです
