パッケージ図は、パッケージとパッケージ間の関係を表現するダイアグラムである。
次のようなパッケージ図があるとする。この時、パッケージP0でクラスAの操作opAという定義があり、かつそれをインポートしたパッケージP1でクラスAの操作Bを定義した場合、パッケージP0のクラスAは隠蔽され、P3で利用するクラスAは操作opBしかない。もしパッケージP0をマージしたパッケージP2でクラスAの操作Bを定義した場合、それをインポートしたパッケージP4では操作opAと操作opBの2つの機能を持つクラスとなる。
Javaでは、パッケージのインポートをimport文を用いて行う。パッケージの生成とimportは次のように行う。
- ./pkgtest/Hoge.java
-
パッケージを生成し、そのパッケージにファイル内で定義したクラスやインタフェースを追加する場合、package文を使用する。package文は必ずJavaの本文を記述する前に記述しなければならない。Javaでは,package文を省略した場合は無名パッケージとして扱われる。すなわちJavaのクラスは必ずいずれかのパッケージに属する。
package pkgtest; // 登録
/**
* クラスHogeの説明
* @author 魔術師見習い
*/
public class Hoge {
/**
* 加算関数
* @param addee 被加数
* @param adder 加数
* @return 加算結果
*/
public int add(int addee, int adder){
return addee + adder;
}
}
- ./pkgtest/package-info.java
-
javadocを使用する場合、パッケージの説明はpackage-info.javaというファイルに記述する。
/**
* パッケージpkgtestの説明
*
*/
package pkgtest;
- ./Fuga.java
-
パッケージは次のようにimport文を使用して行う。
import pkgtest.Hoge;
public class Fuga {
public static void main(String args[]){
Hoge h = new Hoge();
System.out.println(h.add(1, 3));
}
}