Javaでのfinalの使い方

Apr 26, 2024 pm 08:54 PM
機密データ コンパイルエラー

Final は、不変変数、オーバーライド不可能なメソッド、および継承不可能なクラスを宣言するために Java で使用されます。また、定数の宣言や外部変数のキャプチャにも役立ちます。主な使用法は次のように要約されます: Final 変数: 変更不可、読み取り専用。最終メソッド: オーバーライドできませんが、実装できます。最終クラス: 継承することはできませんが、そのメソッドを呼び出すことはできます。最終定数: 変更できません。通常は大文字で表されます。最終的な匿名内部クラス: 外部変数をキャプチャできます。

Javaでのfinalの使い方

Java での Final の使用法

final は Java のキーワードであり、変数、メソッド、クラスを宣言するために使用されます。 。

変数

final 変数は読み取り専用で、一度割り当てられると変更できません。これは、機密データへの誤った変更を防ぐのに役立ちます。例:

final String NAME = "John Doe";
NAME = "Jane Doe"; // 编译错误
ログイン後にコピー

Method

final メソッドはサブクラスによってオーバーライドできません。これは、重要なメソッドをオーバーライドすることによる予期しない動作を防ぐのに役立ちます。例:

final void printName() {
    System.out.println("John Doe");
}
ログイン後にコピー

Class

final クラスは継承できません。これは、クラスが変更不可能であることを保証し、そのサブクラスの作成を防ぐのに役立ちます。例:

final class Person {
    // ...
}
ログイン後にコピー

その他の用途

final は、定数と匿名内部クラスの宣言にも使用できます。

定数

final 定数は変更できず、クラス、メソッド、インターフェイスで宣言できます。例:

public static final int MAX_AGE = 100;
ログイン後にコピー

匿名内部クラス

匿名内部クラスでfinalを使用すると、外部変数をキャプチャできます。例:

JButton button = new JButton("Click me");
button.addActionListener(new ActionListener() {
    final String name = "John";
    
    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println("Hello, " + name);
    }
});
ログイン後にコピー

注意点

  • 最終変数が宣言されると、その値は変更できません。
  • Final メソッドはオーバーライドできませんが、実装することはできます。
  • 最後のクラスは継承できませんが、そのメソッドはサブクラスで呼び出すことができます。
  • 最終定数は通常、大文字で表されます。

以上がJavaでのfinalの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

C++関数継承の詳しい解説:継承で「基底クラスポインタ」と「派生クラスポインタ」を使うには? C++関数継承の詳しい解説:継承で「基底クラスポインタ」と「派生クラスポインタ」を使うには? May 01, 2024 pm 10:27 PM

C++関数継承の詳しい解説:継承で「基底クラスポインタ」と「派生クラスポインタ」を使うには?

Java で = は何を意味しますか Java で = は何を意味しますか Apr 26, 2024 pm 11:30 PM

Java で = は何を意味しますか

Kingston U ディスク大量生産ツール - 効率的で便利な大量データ コピー ソリューション Kingston U ディスク大量生産ツール - 効率的で便利な大量データ コピー ソリューション May 01, 2024 pm 06:40 PM

Kingston U ディスク大量生産ツール - 効率的で便利な大量データ コピー ソリューション

Douyin の IP アドレスはどのように表示されますか? IP アドレスはリアルタイムの位置を示しますか? Douyin の IP アドレスはどのように表示されますか? IP アドレスはリアルタイムの位置を示しますか? May 02, 2024 pm 01:34 PM

Douyin の IP アドレスはどのように表示されますか? IP アドレスはリアルタイムの位置を示しますか?

ICPコインの価値と用途は何ですか? ICPコインの価値と用途は何ですか? May 09, 2024 am 10:47 AM

ICPコインの価値と用途は何ですか?

C++ における const と static の違い C++ における const と static の違い May 01, 2024 am 10:54 AM

C++ における const と static の違い

Java ジェネリック メソッドで型パラメータを制限するにはどうすればよいですか? Java ジェネリック メソッドで型パラメータを制限するにはどうすればよいですか? Apr 30, 2024 pm 01:30 PM

Java ジェネリック メソッドで型パラメータを制限するにはどうすればよいですか?

SQLにおける*の意味 SQLにおける*の意味 Apr 28, 2024 am 11:09 AM

SQLにおける*の意味

See all articles