Javaにはキーワードfinalがあり、変数はfinal型として宣言でき、final型変数は一度しか代入できません。最終変数に繰り返し値が代入されると、コンパイル エラーが発生します。
final キーワードの意味は何ですか?
final は、メンバー変数、メソッド、クラス、ローカル変数を宣言できる Java の予約キーワードです。参照を Final として宣言すると、その参照を変更することはできなくなり、変数を再度初期化しようとすると、コンパイラによってコードがチェックされ、コンパイル エラーが報告されます。
最終変数とは何ですか?
final として宣言されたメンバー変数またはローカル変数 (メソッドまたはコード ブロック内の変数はローカル変数と呼ばれます) は、final 変数と呼ばれます。 Final 変数は、定数として static キーワードとともに使用されることがよくあります。以下は、final 変数の例です:
public static Final String LOAN = "loan";
LOAN = new String("loan") //無効なコンパイル エラー
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"; //compilation error: overridden method is final } }
final クラスとは何ですか?
finalで変更されたクラスをfinalクラスと呼びます。通常、最終クラスは機能的に完成しており、継承することはできません。 Java には、String、Interger、その他のラッパー クラスなど、final クラスが多数あります。以下は、final クラスの例です:
final class PersonalLoan{ } class CheapPersonalLoan extends PersonalLoan{ //compilation error: cannot inherit from final class }
final キーワードの利点
以下に、final キーワードを使用する利点をいくつかまとめます
Final キーワードにより、パフォーマンスが向上します。 JVM と Java アプリケーションはどちらも最終変数をキャッシュします。
Final 変数は、追加の同期オーバーヘッドなしでマルチスレッド環境で安全に共有できます。
final キーワードを使用すると、JVM はメソッド、変数、クラスを最適化します。
実質的に Final
変数は、次の状況にある場合に限り、実質的に考慮されます
1. Final として宣言されていない
2. 値を 1 回だけ割り当てます
Final を効果的に説明する最も簡単な方法このような変更後もプログラムがエラーなく実行され (コンパイルが成功した場合は ^0^)、元の実行結果と一致する場合、この変数は事実上有効であると言えます。最後の。
final の利点 ローカル変数を有効な不変変数に制限することで、開発者が並行性とスレッドセーフな開発をより適切に処理できるように設計されています。 可変フィールドは、適切に管理されていない場合、常に同時実行の問題の潜在的な原因となります。 finalキーワードの使用変数やメソッドのパラメータなどをfinalとして宣言するのは良い習慣だと思います。これを脇に置き、final として宣言すると、クラス ファイルにコンパイルするときにコンパイラが適切に最適化します。 「クラス ファイルの最適化を達成するためにソース ファイルで Final キーワードを使用するのは間違っている」に対しては多くの議論があります。final キーワードの使用については、Robert Simons Jr の「Hardcore Java」を読むことを強くお勧めします。最適化された詳細コンテンツ。
アプリケーションでは、final キーワードによりコードの意図が明確になり、宣言後に変更されないため、非常に安全です。public class FinalTest { public static final int N_ITERATIONS = 10_00_000; public static String testFinal() { final String a = "a"; final String b = "b"; return a + b; } public static String testNonFinal() { String a = "a"; String b = "b"; return a + b; } public static void main(String[] args) { long tStart, tElapsed; tStart = System.currentTimeMillis(); for (int i = 0; i < N_ITERATIONS; i++) testFinal(); tElapsed = System.currentTimeMillis() - tStart; System.out.println("Method with finals took " + tElapsed + " ms"); tStart = System.currentTimeMillis(); for (int i = 0; i < N_ITERATIONS; i++) testNonFinal(); tElapsed = System.currentTimeMillis() - tStart; System.out.println("Method without finals took " + tElapsed + " ms"); } }実行結果:
Method with finals took 5 ms Method without finals took 273 ms概要final は、宣言した変数をより安全にし、コードをより明確に見せることができます。 Java では、不変クラスの使用も推奨されています。
以上が最終的な総合的な詳細分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
