描く
[Java] メンバ変数におけるstatic finalとfinalの違い
엘리후
2021. 7. 2. 18:51
https://qiita.com/Qiitaman/items/743013921e3ed31d948f
[Java] メンバ変数におけるstatic finalとfinalの違い - Qiita
クラスの定数としてよく使われる private static final でstaticをつけることにどのような意味があるのか調査結果。インスタンスごとに名前を付けたい場合などに有用。 メンバ変数におけるstatic finalと...
qiita.com
クラスの定数としてよく使われる
private static final
でstaticをつけることにどのような意味があるのか調査結果。インスタンスごとに名前を付けたい場合などに有用。
メンバ変数におけるstatic finalとfinalの違い
staticをつけないと、コンストラクタでの初期化を許すことになる。(=インスタンスごとの定数を意味する)
staticをつけると、インスタンスではなく、クラスで固有な定数となる。
public class Sample { private static final String A1 = "A1"; // private static final String A1; はコンパイルエラー private final String A2; Sample() { this.A2 = "A2"; } public static void main(String[] args) { new Sample(); } }
クラスに一つだけ生成される変数なので、メモリの使用量が抑えられる?
定数などはstaticにしておくことでインスタンスごとではなくクラスに1つだけ持つことになり、メモリが抑えられます。