【Java-32】パッケージの利用

初心者向けJava講座

※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

こんぶ
こんぶ

こんにちは。こんぶです。

今日は、「パッケージの利用」について学んでいきましょう!

私の自己紹介等は、こちらからどうぞ。

また、Javaの学習を最初から進めていきたい方は、Java-1から見てみてくださいね。

パッケージの利用

クラスの数が増えすぎると管理が大変になるため、グループ分けして管理することができます。

具体的には、各クラスをパッケージと呼ばれるグループに所属させて分類します。

クラスのソースコードの先頭にpackage文を記述することにより、そのクラスをパッケージに所属させることができます。

package文は「package 所属させたいパッケージ名;」のように記述します。パッケージ名は、基本的にアルファベットは小文字にし、ドットで区切ることもできます。

パッケージには、階層関係等はありません。現場では「親パッケージ」「子パッケージ」と表現されることもあるようですが、Javaのルールとしては階層関係は無いということを理解しておきましょう。

別のパッケージに所属しているクラスを利用するには、所属パッケージ名を添えたクラス名を指定する必要があります。

パッケージ名を頭に添えた完全なクラス名のことを「完全限定クラス名」や「完全修飾クラス名」、完全修飾クラス名の英語を略した「FQCN」ともいいます。

完全限定クラス名(FQCN)は「パッケージ名.クラス名」のように記述します。

例えば「animal.mammal」というパッケージに所属する「Cat」というクラスの「eat」メソッドを呼び出す場合は、「animal.mammal.Cat.eat();」のようになります。

完全限定クラス名(FQCN)を2か所以上に使用する場合は、毎回記述するのが大変なので「import文」を使用することもできます。

import文はソースコードの先頭かつパッケージ文より後に「import パッケージ名.クラス名;」のように記述します。2つのクラスをインポートしたい場合は、2つのimport文をそれぞれ1行ずつ記述することになります。

もちろんimport文を使用した状態で完全限定クラス名(FQCN)を指定しても大丈夫です。

例えば「animal.mammal」というパッケージに所属する「Cat」というクラスをimport文を使用してインポートする場合は、ソースコードの先頭かつパッケージ文より後に「import animal.mammal.Cat;」と記述します。そして、「eat」メソッドを使用する場所では、「Cat.eat();」のように記述することになります。

また、あるパッケージ内の全てのクラスをインポートしたい場合は「*」を使用することで1行の記載にすることができます。例えば、「animal.mammal」というパッケージに所属する全てのクラスをインポートしたい場合は「import animal.mammal.*;」と記述します。

どのパッケージにも所属していない状態を「無名パッケージに属している」「デフォルトパッケージに属している」ともいいます。

デフォルトパッケージというのは、どのパッケージにも所属していない状態ですので、import文でインポートすることはできません。

今回のまとめ

★クラスのソースコードの先頭にpackage文「package 所属させたいパッケージ名;」を記述することにより、そのクラスをパッケージに所属させることができる(パッケージ名は、基本的にアルファベットは小文字、ドット使用可能)

★パッケージには、階層関係等はない

★別のパッケージに所属しているクラスを利用するには、完全限定クラス名(FQCN)を指定する

★完全限定クラス名(FQCN)は「パッケージ名.クラス名」のように記述する

★完全限定クラス名(FQCN)を2か所以上に使用する場合は、「import文」を使用すると手間を削減できる

★import文はソースコードの先頭かつパッケージ文より後に「import パッケージ名.クラス名;」のように記述する

デフォルトパッケージは、import文でインポートできない

完全限定クラス名完全修飾クラス名FQCN):パッケージ名を頭に添えた完全なクラス名のこと

デフォルトパッケージ無名パッケージ):どのパッケージにも所属していない状態

次回は、「パッケージに所属したクラス」について説明していこうと思います。

今回の内容のチャレンジ問題はこちらです→チャレンジ問題【Java-32】~パッケージの利用~

次の内容に進む方はこちらです→【Java-33】パッケージに所属したクラス

それでは、こんぶはじゃ~

コメント

タイトルとURLをコピーしました