●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

値や定義を固定するキーワード「final(定数・変更不可)」とは?

Javaでは、変数・メソッド・クラスなどに対して 変更を禁止するために final キーワードを使います。
「この値は変わらない」「このメソッドは上書きさせない」など、安全なプログラム設計に役立ちます。

1. final変数(定数)

一度代入したら変更できない変数です。Javaでは定数を表すときによく使います。

final int MAX_USERS = 100;
// MAX_USERS = 200; ← エラー!再代入できない
    
  • 慣例として大文字+アンダースコアで定数名をつける
  • 初期化は宣言と同時に行うのが基本

コンストラクタで初期化する場合

public class Person {
    private final String name;

    public Person(String name) {
        this.name = name;  // コンストラクタ内で1回だけ代入OK
    }
}
    

2. finalメソッド(オーバーライド禁止)

継承先のクラスでオーバーライド(上書き)を禁止するために使います。

public class Animal {
    public final void breathe() {
        System.out.println("呼吸する");
    }
}

class Dog extends Animal {
    // public void breathe() {} ← エラー!上書き禁止
}
    

3. finalクラス(継承禁止)

他のクラスがこのクラスを継承できないようにするには、クラスにfinalを付けます。

public final class MathUtils {
    public static int square(int x) {
        return x * x;
    }
}

// class AdvancedMath extends MathUtils {} ← エラー!
    

finalの特徴まとめ

  • final変数:値を一度だけ設定可能(再代入禁止)
  • finalメソッド:子クラスでの上書き禁止
  • finalクラス:継承そのものを禁止

static finalで定数を定義

static final を組み合わせることで、クラス共通の定数が作れます。

public class Config {
    public static final String VERSION = "1.0.0";
}
    

まとめ

final は、Javaで「もう変更しない」という意思を明確に表すキーワードです。
値を固定したいとき、継承や上書きを防ぎたいときに使うことで、バグの防止や意図の明確化に役立ちます。
変えない = finalというルールをぜひ覚えておきましょう!

 

Java関連用語集

−−−−−  Java  −−−−−

Javaの基本「クラス(Class)」とは?

Javaの基本「オブジェクト(Object)」とは?

Javaの処理を定義する「メソッド(Method)」とは?

Javaのデータを保持する「フィールド(Field)」とは?

Javaの「クラスの実体」インスタンス(Instance)とは?

クラスの再利用と拡張を実現!「継承(Inheritance)」とは?

オブジェクト指向の柔軟性!「多態性(Polymorphism)」とは?

データを守り、使いやすくする!「カプセル化(Encapsulation)」とは?

共通の土台を定義する「抽象クラス(Abstract Class)」とは?

クラスの共通ルールを定義する「インターフェース(Interface)」とは?

Javaのクラス整理箱「パッケージ(Package)」とは?

Javaで他のクラスを使う「import文」とは?

クラスやメソッドの公開範囲を制御する「アクセス修飾子」とは?

クラスに属するメンバーを定義する「static(静的)」とは?

値や定義を固定するキーワード「final(定数・変更不可)」とは?

エラーが起きても安全に!Javaの「try-catch(例外処理)」とは?

例外を発生させる / 伝える!「throw」と「throws」とは?

オブジェクトの初期化に使う「コンストラクタ(Constructor)」とは?

同じ名前で違う使い方ができる!「オーバーロード(Overload)」とは?

親クラスのメソッドを書き換える!「オーバーライド(Override)」とは?

自分自身を指し示す「thisキーワード」とは?

親クラスを扱う「superキーワード」とは?

クラスからオブジェクトを作る!「newキーワード」とは?

「何もない」を表す特別な値「null」とは?

複数のデータをまとめて扱う「配列(Array)」とは?

配列より便利!Javaの「コレクション(Collection)」とは?

Javaの3大コレクション型「List / Map / Set」ってなに?

コードをスッキリ書ける!「ラムダ式(Lambda Expression)」とは?

データを簡潔に処理!Javaの「Stream API」とは?

Javaをどこでも動かす「JVM(Java Virtual Machine)」とは?

 

 

学校案内

17,000円の講座から!

質問には24時間以内に返答・質問回数は無制限など万全の学習サポート!

是非ご閲覧下さい!

札幌情報技術学院インターネットカレッジ トップページ