JavaのStaticsはどう使う
今もJavaのプログラムを作っていてふと疑問に感じたコードがある。
public final static String JAVA_NO_TEUISUU = "Javaの定数";
と言ったコードで、本当にstaticが必要かということだ。
Eclipseでも定数の作成とすると自動的にこうなり、定数だからメモリー常駐で良いのかもしれない。
しかし、この定数を作っていて使用するインターフェースなりクラスはstaticではないので、インスタンス化するときには、メモリー上にいくつも作成される事となる。
確かに、定数として共通化によるメモリ削減となるのかもしれないので、特に問題となるコードではないとは思うが、インスタンス化とは相容れないところに置かれてしまう違和感はある。
確信を持ってやっているわけではないが、ユーティリティ的に必要な場合以外は定数でもstaticは外している。
まあ、ギガバイトのメモリーの時代に、細々したメモリー管理も似合わないとは思っている。
どんなときに使うかについては、また別の時に話をしよう。