hsmwhsmw

初心者入門import構文 - 基礎知識

クラスライブラリをプログラムで使う上で知っておくべき事があります。例としてCalendarクラスをプログラムの中で利用する場合を考えてみます。

Calendarクラスは、その名の通り日付関係を取り扱う為のクラスで、下記のように定義されています。

java.lang.Object
  |
  +- java.util.Calendar

簡単なサンプルとして現在の月日を表示するプログラムを記述してみます。

testIni1.java

class testIni1{
  public static void main(String args[]){
    java.util.Calendar cal = java.util.Calendar.getInstance();

    int month = cal.get(java.util.Calendar.MONTH) + 1;
    int day = cal.get(java.util.Calendar.DATE);

    System.out.println("今日は" + month + "月" + day + "です");
  }
}

クラスライブラリとして用意されているクラスをプログラムの中で使う場合には、上記のように「java.util.Calendar」のように定義されている通り記述する必要があります。ただプrグラムの中で繰り返し記述する場合にはクラス名だけで記述できると便利です。このような場合にはimport構文を使います。

import パッケージ名.クラス名;

java.util.Calendar」クラスの場合はパッケージ名が「java.util」となりクラス名が「Calendar」となります。「import java.util.Calendar」とプログラムの先頭で記述することで、プログラム中では単に「Calendar」と記述するだけで利用することができます。

import java.util.Calendar;

class testIni1{
  public static void main(String args[]){
    Calendar cal = Calendar.getInstance();

    // ....
  }
}

先ほどのサンプルを書き直してみると下記のようになります。

testIni2.java

import java.util.Calendar;

class testIni2{
  public static void main(String args[]){
    Calendar cal = Calendar.getInstance();

    int month = cal.get(Calendar.MONTH) + 1;
    int day = cal.get(Calendar.DATE);

    System.out.println("今日は" + month + "月" + day + "です");
  }
}

上記を実際にコンパイルして実行してみると下記のようになります。

p1

importの例外

全てのクラスライブラリがimportで記述しないと簡易表記できないわけではなく、「java.lang」パッケージに含まれるクラスはimportしなくてもクラス名だけの表記でプログラム中で使うことができます。

例えば、Stringクラスは下記のように定義されています。

java.lang.Object
  |
  +- java.lang.String

Stringクラスは「java.lang」パッケージの中に含まれるクラスのため、プログラム中では「java.lang.String str = new java.lang.String("Hello");」などのように記述しなくても「String str = new String("Hello");」とだけ記述すれば使えていたわけです。