教本に沿ってやってみたシリーズ、『第6章』です。
≪使用教材≫スッキリわかるJava入門 第3版 スッキリわかるシリーズ
ソースファイルの分割
Javaでは⑤のように作成した複数のメソッドを、クラス別に仕分けることができる。
【実行】
-
プログラム
分割したクラスファイルをまとめたフォルダ。 -
パッケージ
分割したクラスファイルを分類、管理するしくみ。
分類、整理することのほか、複数人でプログラムの開発するにあたり、同じクラス名を取り合うという衝突を避けられるメリットがある。パッケージ名が異なれば1つのプロジェクト内で同じクラス名を使用することが可能だが、パッケージ名が被ってしまうとその前提が崩される。なので、あらかじめ誰がどのようなパッケージを使うか決めておくとよい。
(javaでは自分(自社)が保有するドメインを前後逆順にしたものから始まるパッケージ名を用いることを推奨している)
packege.project6; //下記のCalcLogic.javaをパッケージ名「calcapp.main」に所属させる
public class CalcLogic { // クラス名「Calc.java」のファイルが出来上がる
int total = project6.CalcLogic.tasu(a,b); //パッケージ名、クラスを指定して呼び出し【FQCN】
- 完全限定クラス名(FQCN)
「パッケージ名を頭に付けたクラス名」のこと。このFQCNはimport文を使うことで省略できる。
なお、パッケージに属する全クラス呼び出したい場合は下記のように記述が可能。
import project.other.CalcLogic.*;
-
クラスローダー
javaコマンドにFQCNを用いて実行すると、JVM内部の『クラスローダー』という機構が作動する。
PC内からクラスファイルを検索し、JVMに読み込んで利用を可能にするものである。
膨大な容量のハードディスク内からの高速検索を実現するにはクラスパスという情報が必要になる。
クラスパスを指定するには「起動時にjavaコマンドで指定」、「OS側で環境変数の設定」、「特に指定しない(実行フォルダをクラスパスにする)」という3つの手段がある。 -
API(applecation Programming Interface)
Javaに初めから標準添付されているクラスの総称。これまで作成した1つのクラスはこれら数百個のクラスと連携して動いている。下記は代表的な例。
java.lang | 重要なクラス群 |
java.util | プログラミングを便利にするクラス群 |
java.math | 数学に関するクラス群 |
java.net | ネットワーク通信などを行うためのクラス群 |
java.io | ファイル読み書きなどのデータ処理のためのクラス群 |
java.lang パッケージは頻繁に利用するので、improt文を使用しなくても呼び出される特別仕様になっている。これまで画面表示に使っていた「System.out.println()」も一例である。
頭こんがらがってきました!
以上、雑備忘録◎