いつ振りかわからんけど
そろそろやっておこう・・・・・
前回はImport文について説明しましたが、少し忘れていたことがあったので補足しておきます。
プログラムの中でクラス名を完全修飾名で指定すると、Import文は必要ありません。
で前回の例題をImport文を使わず書いてみるとこうなります。
package sample16_03;
public class Exec {
public static void main(String[] args) {
sample.Dice dice = new sample.Dice();
dice.play();
System.out.println("目数" + dice.getVal());
}
}
こんな感じになります。
上のように書くとImport文は不要です。
ただ、2つのパッケージをインポートするとき、両方に同じ名前のクラスがある場合
完全修飾名を使わなければいけません。
Import文があってもどちらのパッケージのクラスなのかがあいまいになって しまうのでコンパイルエラーとなります。
この様な時は完全修飾名で指定しなければいけません。
今度はメソッドのインポートについて、
メソッドといっても staticメソッド(クラスメソッド)限定のインポートです。
starticメソッドを他のクラスから使用するときは、クラス名を付けて指定する必要がありました。
クラス名を付けることは簡単ですが、付けなくていいのならそのほうが楽でいいですよね?
そうするには、import static文 を使って、使用するstaticメソッドをあらかじめインポートしておくだけです。
早速、例題を見ていこうと思います。
package sample16_04;
import static lib.Input.getDouble;
import static java.lang.Math.pow;
import static java.lang.Math.PI;
public class Exec {
public static void main(String[] args) {
double hankei = getDouble("半径"); //
System.out.println("面積=" + pow(hankei, 2) * 3.14); //
}
}
上のプログラムは円の面積を求めるプログラムです。
この部分が円の面積を計算してくれる部分ですねwww
で、起動してみると・・・
下のコンソールに半径と出ました。
例えば今日は8/25なので25と試しに入力
続けて続行すると
一応電卓で再計算・・・
キーワードとして import static と書く点に注意。
staticメソッドの名前を完全修飾名で指定します。
今回は次の2つのメソッドを使用しています。
lib Input.getDouble() ・・・> キーボードをタイプしてdoubleの値を入力
java.lang Math.pow(x,y) ・‣・・・> xのy乗を計算して返す
はい、ここまでで16章終了ですwww
残り17.18.19.20とまだありますが・・・
とりあえずここまでご覧いただきありがとうございました。
次回は継承から。
参考書は__________________________________
川場 隆 Kawaba Takashi
秀和システム
______________________________________
BY マんタ