Okapi Project

package (ぱっけーじ)

バージョン
2003 年 06 月 30 日 Ver.1.1
作成者
H.Izumi ( Xware )

目的

複数のクラスをまとめたい!

packageってなに?

大規模なプログラムでは、他の人達が設計したさまざまなクラスを利用する場合があります。時には、色々な人が作成した同じ名前のクラスを、プログラムの中に混在させて使わなければならない場合もあります。このような時に、packageを使ってクラス名を区別することが出来ます。

クラスをパッケージに含める

という作業をしておくと、同じ名前であってもクラスの名前にパッケージの名前をつけて、区別することが出来るようになります。

packageの説明

class を package に含めるための書式

以下のように記述することで、指定したクラスを指定したパッケージに含ませることが出来ます。

package パッケージ名 ;
アクセス修飾子 class クラス名 {;
}   

packageを利用する場合の書式

以下のように記述することで、異なる package の class を利用することが可能となります。

import パッケージ名 . クラス名 ;
・・・・・・・・・・・・・・・
クラス名 変数名 = new クラス名( ) ;

他のパッケージ内のクラスを利用するには、このように import が必要になります。上記のようにすると、コード内で異なるパッケージのクラスを利用するときにも、クラス名だけを記述するだけでよくなります 。

package を利用する場合のアクセス修飾子クセス修飾子には、以下のようなものがあります。

private
同じクラス内でのみ呼び出し可能
無指定
同じパッケージからのみ呼び出し可能
protected
同じパッケージ、サブクラスからの呼び出し可能

packageの使い方

アクセス修飾子が public である Test クラスを test パッケージに含ませるためのプログラムの例

package test ;
public class Test {
}

上記のようにソースを記述することで test パッケージに Test クラスを含めることが出来ます。

アクセス修飾子が public である Test クラスを異なるパッケージ test から呼び出すプログラムの例

import test.Test ;

class MainClass {
public static void main ( String [ ] args ) {
//Test クラスをインスタンス化する。
Test test = new Test( ) ;
} }

このようにソースを記述すると、test パッケージの Test クラスを利用することが可能になります。

ポイント

ヒント

Java 言語においては、異なる作者によるパッケージの名前が衝突することを避けるために、インターネット・ドメイン名 (以下単にドメイン名と記述します) を利用して世界的に一意なパッケージ名をつけることが推奨されています。
"jp.co.java_conf.foo" のように、ドメイン名のピリオド (".") で区切られた各識別子を逆順に並べ替えたものに、ドメイン内における一意性をそのドメインの責任において保証した識別子を連結したものをパッケージ名とすることにより、世界的な一意性を保証することができます。

ファイルの先頭で import 作業をしておくと異なる多くのパッケージを多く使用する場合、便利になります。

関連


Copyright © 2003 - 2006 Okapi Project All Rights Reserved.