パッケージとはクラスをグループにまとめたものです。実際にはクラスが保存されているフォルダの階層構造と一致します。
例えば System クラスは正式には、java.lang.System と書きます。ということは「java → lang」とフォルダの階層をたどっていけば、System.java というソースコードが見つかるはずです。
それでは実際に確認してみましょう。
【1】jdkのインストール先を開くと、「src.zip」という圧縮されたファイルがあります。この中にAPIのソースコードが入っています。
C:\jdk
【2】「src.zip」を開くと、いくつかフォルダがあります。WindowsXPの場合は解凍しなくても中が見れますが、見れない場合は解凍してから開いてください。
このフォルダはJavaドキュメントのAPI仕様では以下の部分にあたります。
【3】次に「java」フォルダを開きます。
C:\jdk\src.zip
【4】「java」フォルダを開くと、いくつかフォルダがあります。
このフォルダはJavaドキュメントのAPI仕様では以下の部分にあたります。
【5】次に「lang」フォルダを開きます。
【6】「lang」フォルダを開くと、いくつかフォルダがあります。
このフォルダはJavaドキュメントのAPI仕様では以下の部分にあたります。
【7】lang フォルダの中にある「System.java」を探してください。
【8】圧縮したままだとTeraPadで開けないため、「System.java」をディスクトップにコピーします。
【9】コピーした「System.java」をTeraPadで開きます。
【10】System クラスのソースコードが表示されました。
package java.lang;
Systemクラスが含まれるパッケージを指定しています。パッケージの階層と実際のフォルダの階層は同じにする決まりになっているので、Systemクラスはjavaフォルダの中のlangフォルダの中にあります。
【11】Systemクラスが宣言されている部分です。
APIにあるすべてのクラスがこのようにして作られています。私たち一般のプログラマーは、Javaの開発者が作ってくれた数千のクラスがあるおかげで、楽にプログラミングができるわけです。
【12】それでは次のパッケージはどのようなフォルダの階層になるでしょうか?
【13】java → lang を開くと、ちゃんとannotationフォルダがありますね。
パッケージとフォルダの階層構造はとても大切です。
もしあなたが既存のクラスを使って新たに便利なクラスを作ったとします。そのオリジナルのクラスをパッケージとしてまとめれば、他の人があなたのパッケージをコアAPIのように簡単に利用できます。ソフト会社では、会社独自のパッケージを作り、社員で共有することがあります。
自分でクラスを作るようになると、「あっ!APIも同じなんだ」と感じるようになります。
【src.zipについて】
「src.zip」はコアAPIを構成するクラスのソースファイルです。開発者が Javaを理解するのに役立ちます。
しかしプラットフォーム固有の実装コードは含まれていないため、クラスライブラリを再構築することはできないようです。クラスライブラリはJREに含まれています。