Java言語入門 〜C言語を学んだ君へ〜
[1] パッケージの階層構造
パッケージの階層構造とは
パッケージの中にさらにパッケージを作ることができます。
これをパッケージの階層構造といいます。
それによって、より整理されて分かりやすいプログラムが書けます。
もちろんそのように整理した場合、書き方は今までと少し変わります。
階層構造の書き方
階層構造のためパッケージが増え、書かなくてはならないパッケージも増えます。
今まではそのファイルがどこのパッケージに属するのかをファイルの最初に
package パッケージ名;
このよう宣言していましたが、パッケージが多いため、パッケージの大きい順で
package パッケージ名1.パッケージ名2.パッケージ名3.パッケージ名4;
というようになります。
また、同じように呼び出し方法もパッケージ名が1つではなく、「.」(ドット)によって沢山のパッケージを書き連ねる必要が生まれてきます。
[2] インポート
インポートとはC言語でいう#include<ヘッダファイル>に相当します。
インポートとは
インポートとは、「パッケージ名.」を省略してしまうものです。
プログラムによっては、同じ「パッケージ名.」が何度も出てきて、面倒です。
だからと言って書かないとエラーが出ます。
そんなときには、こんな1文加えてやると、すべてがうまくいきます。
import パッケージ名.クラス名;
これをファイルの最初の部分に書き加えます。
最初と言っても、パッケージの宣言の次の行がいいでしょう。
この行為「インポート」によって、ソースに「パッケージ名.」を書く手間が省けます。
複数のクラスを1文でインポート
パッケージ内にはクラスがいくつも入っているものです。
そのパッケージ内のクラスを全てインポートする場合、
先ほどの方法だととても手間がかかってしまいます。
そのため、パッケージ内のすべてのクラスをインポートする方法があります。
import パッケージ名.*;
上のように、クラス名の代わりに「*」(アスタリスク)をつけることで、それが可能になります。
何か検索するときにも「*」を使いました。ワイルドカードです。
[3] その他補足
今までimportなしのプログラムを書いてきました。
System.out.printlnなどはimportしていなくても使えました。
これは、よく使うパッケージはimportしなくても使えるようになっているのです。
これら以外にも様々な機能を持つとても便利なパッケージがあります。
それについては、第15回「クラスライブラリ」で少しだけ取り扱います。
C言語ではほとんどの関数などを#includeしていたのに、
Javaでは、必要最低限のものをimportする必要がなく便利になりました。
以上で第11回は終了です。