Javaのパッケージについてとりあえずまとめてみようと思います。
packageは見たことあると思います。
初めてプログラミング学習をしたときに見る、classの先頭についている
package 'HogeHoge'
のようなやつです。
今回はこれが一体何なのか調べてみたので初心者ながらまとめてみようと思います。
パッケージというのは、
ソースの処理は違うが、役割は同じものをまとめたもの
です。
よくあるものとして、
「複数のクラスが一つになって行う処理をまとめて管理できるようにしたい」
といったものがあります。
小さいアプリケーションであればいいのですが、Javaを使っていくということは大規模なものを作っていきます。
クラスの数も100以上になっていくでしょう。
そんなときに継承を點せまくってみたらあっという間にスパゲッティな状態になります。
そうならないために、Javaのpackageは役に立つのです。
#やり方
packageを宣言するには、まずpackage文というものを作り作成していきます。
まず最初に、packageを作るときの命名の基礎について話していきたいと思います。
##命名のやり方
packageを命名するときは、そのパッケージの位置から逆に書いていきます。
どういうことかというと、
そのpackageを宣言しているファイルの位置が、上から見て4番目であれば
package宣言したいクラスのファイル.その上.その上.その上
のように宣言します。
そして、そのpackageを格納するファイルは、必ずpackageで指定したパスの中に入れないといけません。
ちなみに、、
#追加で知っておいたほうがいいimport文について
importというのは、クラスの処理を別のクラスで使いたい時にimport文を使えばそのクラスを呼び出すことができます。
実は、import文を使わなくても実は呼び出すことができます。
その方法は、そのクラスのパスを
class sample {
public static void main(String[] args){
//クラスのパスを指定する。
java.time.LocalDate ld = java.time.LocalDate.now();
System.out.println(ld);
}
}
上記のコードのように、クラスのパスを指定してあげればいいです。ただ、これだといちいち指定してあげなければいけないので、非常に面倒くさいです。それにタイピングをミスってエラーのもとになります。
そんな時にimport文で宣言します。
import java.time.LocalDate;
class sample {
public static void main(String[] args){
//クラスのパスを指定する。
LocalDate ld = LocalDate.now();
System.out.println(ld);
}
}
こうすることで、このクラスが書いてあるファイルのなかで何回でも使い回すことができます。
そして、import文の書き方を紹介していきたいと思います。
import文を書くときに二種類書き方があります。
・パッケージに含まれるうちの一つのクラスを指定する場合。
・パッケージに含まれるすべてのクラスを指定する場合。
では、前者の書き方から紹介していきたいと思います。
##パッケージに含まれるうちの一つのクラスを指定するやり方
これは単純に、ドメイン(そのクラスの所在地)から逆の順番で指定して上げればいいだけです。先程出した例で、import java.time.LocalDate;
のように指定してあゲレば大丈夫です。
次に、packageのすべてのクラスを指定するやり方を消化しいます。
#packageに含まれるすべてのクラスを指定する場合
その場合は、指定しているpackageのあとに、*をつけるだけです。
例えば、先程例に出したコード(import java.time.LocalDate;)で、timeパッケージのすべてのクラスを指定したい場合は
import java.time.*;
と指定します。
とりあえず以上になります。
指摘点などあれば、コメントなどに書いていただけると嬉しいです。