final」を使用することがあります。配列にfinalを指定する方法ListやMapにfinalを指定する方法という基本的な内容から、などの応用的な使い方に関しても解説していきます。まとめfinal修飾子とは変数は基本的に値を自由に変更できますが、一度値を設定したら変更されない変数のことを「定数」と呼びます。final修飾子を指定した変数は、基本的に規定値など一度値を設定したら変更する必要がない値に用いられます。以下はfinal修飾子を指定して、クラス定数を宣言しています。finalを記述します。3.1415926535final修飾子は変数以外にもメソッドやクラスにも指定することができます。変数、メソッド、クラスにfinal修飾子を指定した場合は以下のようになります。クラスにfinalを指定した場合は、そのクラスを継承することはできません。メソッドにfinalを指定した場合は、そのメソッドをオーバーライドすることはできません。変数にfinalを指定した場合は、その変数の値を変更することはできません。final修飾子を指定した定数は、通常の変数と区別するために変数名の英数字を大文字で記述することが多いです。以下にfinal修飾子を使用した基本的な使い方を記述します。finalでdouble型のクラス定数を宣言しています。mainメソッドで、クラス定数の値が正しく設定されていることを確認できます。定数は先述したとおり一度値を設定したら再度設定することはできませんのでメソッド内で以下のように定数を設定してもコンパイルエラーとなります。以下にfinal修飾子をクラスに指定した場合のサンプルを記述します。前述したとおり、クラスにfinal修飾子を指定すると、そのクラスは継承できなくなります。}}このサンプルでは親クラスにあたるParentClassをfinal修飾子で指定しているため、その子クラスであるSubClassで、extendsによる親クラスの継承を指定しても、以下のエラーとなります。以下にfinal修飾子をメソッドに指定した場合のサンプルを記述します。前述したとおりメソッドにfinal修飾子を指定すると、そのメソッドはオーバライドできなくなります。}}このサンプルでは親クラスにあたるParentClassのメソッドをfinal修飾子で指定しているため、その子クラスであるSubClassで、親クラスのメソッドを指定しても、以下のエラーとなります。定数は基本的に宣言時に値を設定し、一度値を代入したら再設定はできません。そのため、宣言時に値を設定しなかった場合、メソッド内で初めて値を設定しようとしてもコンパイルエラーが発生します。定数の数が多く、宣言と初期化処理を分けたい場合は、staticイニシャライザ内なら定数を初期化することが可能です。以下に定数の宣言と、定数の初期化処理を分けて記載するためのサンプルを記述します。20配列にfinalを指定する方法final修飾子は、配列にも指定することができます。配列をfinalで宣言しても変更できないのは配列のインスタンスであり、配列の要素を変更することは可能です。//finalを指定しても配列の要素は変更できる。}}実行結果10実行結果からわかるように、final修飾子で配列を宣言しても要素自体は変更できてしまいます。そのため、保持している要素を変えられたくない場合は、ListやMapなどの動的配列を使用する方法があります。ListやMapをfinal修飾子を指定した定数として扱う方法は、次項で詳しく解説します。finalで指定しても、値の変更ができてしまいます。ListやMapなどをfinal修飾子を指定した定数として扱いたいのなら、CollectionsクラスのunmodifiableListメソッドを使用する方法があります。unmodifiableListメソッドは、ListやMapを読み取り専用とする機能で、設定したListやMapに値の変更や追加などを実施すると、UnsupportedOperationExceptionの例外が発生します。そのため、unmodifiableListメソッドを使用すれば、定数として使用できることが可能となります。以下にunmodifiableListメソッドを使用した、定数化の方法を記述します。}}実行結果appleorangemelonfinalについてもっと詳しく知りたい方へこの記事で解説したようにfinal修飾子を指定すれば、その変数やクラス、メソッドの内容を自由に変更することができなくなります。そのため、不用意に値やクラス、メソッドの内容を変えられたくない場合はfinal修飾子を指定するのが望ましいと言えます。2018年11月27日static修飾子の使い方についてこの記事で紹介したstatic修飾子は。クラスをインスタンス化せずに、直接メソッドや変数にアクセスできる便利な修飾子です。finalの意味や基本的な使い方、初期化の方法やList、Mapの定数化などを説明しました。final修飾子は、変更する予定のない規定値などを設定する場合に、変数と区別するために定数としてよく使用されます。finalの記述方法を忘れてしまったら、この記事を思い出してくださいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。