[PR] 迷惑メール トップページプロ3ゼミJavaJava入門講座三学期単位11 →2時間目

2時間目 インポートで取り込む

11−2−1.他のパッケージクラスにアクセスする

 単位11 1時間目 パッケージ主義でパッケージを宣言することにより、他のパ ッケージにあるクラス名の衝突を気にしないでクラス作成が出来ると説明しまた。
ただ、パッケージが同じではないとクラスにアクセスできず、他のパッケージにあるクラスは、全てパッケージ 名から記述します。
以下のサンプルプログラムのようにです。
Report.java
// 書類のパッケージ

package documents;

// 報告書
public class Report {

    // 題名
    String  title;
    // 宛名
    String  address;
    // 署名
    String  signature;
    // 内容
    String  text;

    // 宛名を返す
    public String getAddress() {

        return address;
    }

    // 宛名を設定
    public void setAddress(final String address) {

        this.address = address;
    }

    // 署名を返す
    public String getSignature() {

        return signature;
    }

    // 署名を設定
    public void setSignature(final String signature) {

        this.signature = signature;
    }

    // 内容を返す
    public String getText() {

        return text;
    }

    // 内容を設定
    public void setText(final String text) {

        this.text = text;
    }

    // 題名を返す
    public String getTitle() {

        return title;
    }

    // 題名を設定
    public void setTitle(final String title) {

        this.title = title;
    }

    // 表示
    public void view() {

        System.out.println("\t" + title + "\t");
        System.out.println();
        System.out.println(address + "殿");
        System.out.println("氏名:" + signature);
        System.out.println();
        System.out.println("\t\t記\t\t");
        System.out.println(text);
    }
}

Sample11_2_1.java
// 単位11のパッケージ

package unit11;

// 単位11 2時間目 サンプル1
public class Sample11_2_1 {

    // ここからスタート
    public static void main(final String[] args) {

        documents.Report report = new documents.Report();

        report.setTitle("Javaセミナーの報告書");
        report.setAddress("部長");
        report.setSignature("Java");
        report.setText("他のパッケージへのアクセス方法 省略");

        // 報告書を表示
        report.view();
    }

}
    Javaセミナーの報告書    

部長殿
氏名:Java

        記      
他のパッケージへのアクセス方法 省略

 パッケージ名から指定する事により、一意な名前になる為クラスを識別する事が出来ます。

11−2−2.インポート宣言で先に宣言する

 このように、毎回他のクラスにアクセスするのに、パッケージ名から指定するのは、面倒くさいですし、名前 が長いと冗長になってしまいます。
パッケージクラスを先に宣言をすることにより、クラス名だけで指定できるようになります。
同じクラス名を使用することや既に同じクラスがある場合には、一つだけでしかクラス名から指定できません。
使用するパッケージクラスを宣言をすることをインポート宣言と言い、「パッケージ名.クラス名」のように使 用するパッケージクラスを宣言します。
以下が構文です。
import パッケージ名.クラス名;
その事を踏まえて先程のプログラムを少し変えてみましょう。
// 単位11のパッケージ

package unit11;

// 書類のパッケージをインポート
import documents.Report;

// 単位11 2時間目 サンプル1
public class Sample11_2_1 {

    // ここからスタート
    public static void main(final String[] args) {

        Report report = new Report();

        report.setTitle("Javaセミナーの報告書");
        report.setAddress("部長");
        report.setSignature("Java");
        report.setText("他のパッケージへのアクセス方法 省略");

        // 報告書を表示
        report.view();
    }

}

パッケージの所で説明したように、パッケージを宣言するにはその前にコメント以外置けないので、その下に、 インポート宣言します。
パッケージは、1つしか出来ませんが、インポートは、インポートするクラスの数だけ一般的に行います。
複数の場合は、
import パッケージ名.*;
とすると、パッケージ名以降のクラスがすべてインポートされます。
よって、先程のプログラムは、
import documents.*;
でもかまいません。
今回の場合は、クラスが1つでしたが、そこに宣言されたクラス全てが、インポートされます。


1時間目 パッケージ主義に戻る     3時間目 パッケージに慣れるに進む

単位11 パッケージの導入に戻る

トップページに戻る