クラスが増えすぎてうじゃうじゃすることがある
そういうときにパッケージというのを使う
各クラスをパッケージというグループに所属させる
mainの中身が増えたら複数メソッドにわけよう
メソッドが増えたら複数クラス(ファイル)にわけよう
クラス数が増えたら複数パッケージ(フォルダ)にわけよう
というお話
パッケージ名は普通みんな小文字にしますよ
ドットで区切るよ
package calcapp.main;
package calcapp.logics;
親子関係や階層はないらしい
何も書かないときは「デフォルトパッケージに所属する」という(エクリプスでは特に勝手にそうなる)
何も書かれてないと「その他」扱いになるわけだ
しかしパッケージ名から全部フルで記述する(FQCN)と大変長くて大変
→インポート文というのがある
import calcapp.logics.CalcLogic;
インポート文はプログラムの記述を楽にするためのもの
あくまでFQCN(フル記述)を省略できるため
特にインポートしたからといってjavaの機能が増えるというものではないらしい
コンパイルしてできたCalcLogic.classを
C:\Users\web.DESKTOP-EQR2U6K\Desktop\java\calcapp\logics
に移動しますよ
これが、「パッケージ宣言をしたときのクラスファイルの置き場所」
C:\Users\web.DESKTOP-EQR2U6K\Desktop\java\calcapp\main
ここには生成した
Calc.class
を置くよ(mainが含まれている冒頭のファイル)
これを実行するときはこういう記述(java 完全限定クラス名)になる
C:\Users\web.DESKTOP-EQR2U6K\Desktop\java>java calcapp.main.Calc
足すと12、引くと8
>FQCN(完全限定クラス名)
あるクラスから別のパッケージのクラスを利用する場合、パッケージ名を頭に付けなければなりません。そして、頭にパッケージが付いたクラス名のことを完全限定クラス名( full qualified class name )といいます。
全然関係ないけどあとでこれも読んでおく
パッケージ宣言したときはクラスファイルを所定の場所に置くのが大事
ただしエクリプスさんだと全部自動でやってくれるらしいですけど! 一度ハテナの経験をやっておくのが大事。
パッケージにする意味は「名前空間」で名前の衝突を避けるという利点もある。
クラスの重複はjavaでは普通だめですよ
→でも200個くらい20人ぐらいでクラスを作ったらまずまず重なりますし、名前の奪い合いになる
→パッケージ(所属)が違ったら、同じクラス名でも大丈夫ですよという
推奨されるパッケージ名は「保有するインタネットドメインを逆さにした」
foo.example.com
→com.example.fooとか
これで他社との共同開発も大丈夫
じゃさっきの2つのjavaファイルをエクリプスさんにコピーしますよ
クラスファイルの方はエクリプスさんが作ってくれるから大丈夫すよ
→s-jisで統一しているpart1のsrcのデフォルトに貼るよ
→どっちのファイルも冒頭にばってん
→ばってんをクリックして一番上ので解決(両方のファイルで行う)
勝手にフォルダが作られて解決した
エクスプローラーで見ても作られている
C:\pleiades\workspace\part1\bin\calcapp
p243
Java API