フラットなパッケージ宣言
パッケージ宣言はJavaと同様にpackage節によって行う。
package etc9.util class FileUtil
この例では、FileUtil クラスは etc9.util パッケージに所属することになる。
入れ子のパッケージ宣言
パッケージ宣言は以下のように、同じファイル内で入れ子に宣言することもできる。
package etc9 { package util { class FileUtil } }
testパッケージなど、以下のように同じファイル内に記述できる。
package etc9.util { class FileUtil package test { class FileUtilTest } }
入れ子内からのパッケージアクセス
入れ子内のパッケージは、その外側のパッケージに属しているため、以下のように、testパッケージからは外側のFileUtilがパッケージ名の修飾無く参照することができる。
package etc9.util { class FileUtil package test { class FileUtilTest { val t = new FileUtil } } }
明示的なルートパッケージからの指定方法
パッケージ階層のルートから、明示的にパッケージを指定する場合には、_root_ というキーワードにてパッケージを指定する。
先の例は以下のようにルートから指定することもできる。
package etc9.util { class FileUtil package test { class FileUtilTest { val t = new _root_.etc9.util.FileUtil } } }
パッケージ階層内で、他のパッケージが不可視になってしまう場合には、上記のように_root_を使用する。