Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@NAKANO_Akihito

final の意味

More than 3 years have passed since last update.

クラス

クラス宣言に final がついてる場合、そのクラスは拡張できない。(サブクラスが作れない)

メソッド

インスタンスメソッドの宣言に final がついてる場合、サブクラスでオーバーライドできない。

インスタンスフィールド

final なフィールドには一度しか代入できない。
final なインスタンスフィールドに代入するには下記2つの方法がある。

フィールドの宣言時に初期値を書く

class Qiita {
    final int value = 123;
}

コンストラクタで代入する

class Qiita {
    final int value;

    public Qiita() {
        this.value = 123;
    }
}

クラスフィールド

final なクラスフィールドに代入するには下記2つの方法がある。

フィールドの宣言時に初期値を書く

class Qiita {
    static final int value = 123;
}

static ブロックの中でフィールドに代入する

class Qiita {
    static final int value;

    static {
        value = 123;
    }
}

変数

一度しか代入できない。

引数

一度も代入できない。(メソッドが呼び出されたときに既に値が代入されているから)

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?