staticな定数、メソッドの呼び出し
今回は、javaのimport文の拡張機能のお話です。Javaの資格試験では結構出てくる話題です。
あるクラスのstaticな定数やメソッドを使いたい場合は、通常はクラス名.メソッド名またはフィールド名
と記述します。
例としてMathクラスの円周率の定数PIを使う場合は、次の様なコードになります。
double radius = 4.3; //円の面積を計算
double m = radius * radius * Math.PI;
または、IntegerクラスのparseIntメソッドを使って、文字列から数値へ変換したい場合は
int a = Integer.parseInt(args[0]);
import static文を使う
短いコードだと上記の使い方でさほど気にならないですが、むしろ普通の使い方です。コードが長くなって例えば定数PIを多数の箇所で
記述しなければならい場合、各行でMath.PIと書いていては冗長となる場合に、import static文を使うと便利です。
staticなメソッド、フィールドをimport static文で宣言してしまうと、コード中はクラス名を省力する書き方ができます。
通常にimport文と同じでクラス宣言する前に、以下のように記述します。
import static java.lang.Integer.parseInt;
import static java.lang.Math.PI;
コード中では、クラス名を使わずにstaticなフィールド・メソッドを記述できます。
double radius = 4.3; //円の面積を計算
double m = radius * radius * PI; System.out.println(m);
上記の様に定数PIがMath.PIと書かずに良くなりました。