Javaにおけるパッケージとインポートを理解する

Java_package-import

Javaには様々な機能が搭載されていますが、その機能を扱うために欠かせない知識として「パッケージ」というものがあります。このパッケージを理解する事でJavaをより広い範囲で扱えるようになります。

スポンサードリンク

クラスライブラリとは

「クラスライブラリ」という概念は、Javaのパッケージを知るために事前に知っておきたい知識です。クラスライブラリとは、再利用可能なクラス群をライブラリとしてまとめたものの呼称です。

Javaには標準で作られたおよそ4000ものクラスとインターフェースが提供されており、それらの総称をクラスライブラリと言います。

しかし、このように何千ものクラスやインターフェースがあると、どれをどう使うかいちいち調べたりする必要があるなど、非常に使いづらい状況を発生させてしまいます。それを解決するのが次に紹介する「パッケージ」です。

パッケージとは

パッケージとは、互いに似通ったり関連しているクラスをまとめたものです。標準で作られているクラスライブラリは、「java」という名前で始まるパッケージ群に含まれます。

同一パッケージ内には同じ名前のクラスは存在できず、名前空間で管理されています。異なるパッケージであれば同名のクラスでも存在可能です。クラス階層とパッケージは異なることに注意して下さい。

パッケージを作る

勿論、標準のものだけでなくパッケージを独自に作成する事も可能です。

package パッケージ名;

このようにしてパッケージを作成します。気を付けたいのが、.javaファイルの先頭にこの一文を追加する事です。先頭でなければいけません。この文の以下に書いたコードが、指定したパッケージに含まれます。

publicによるパッケージ使用の許可

Javaではクラスに「public」修飾子をつけると他のパッケージから利用可能になります。

逆に言うとpublic修飾子が付いていないクラスは、他のパッケージからは利用できません。ただし、同パッケージ内からは利用できます。

パッケージの指定方法

パッケージを指定する方法を見ていきましょう。パッケージを指定するには2種類の方法があります。1つ目が、フルパスで指定する方法。そしてもう1つ目がimport文を使う方法です。

パッケージjava.awt内のTestクラスを利用したい時は以下の様に書きます。「.」でチェーンして下さい。

java.awt.Test();

import文を使う場合は以下の様になります。

import java.awt.Test;
Test();

importをすることによって、直接クラス名を指定して実行する事が可能です。分かりやすく言うと、1行目でクラスを使うことを宣言し、2行目でそのクラスを実行しています。そんなイメージです。

import文における*の意味

Javaのプログラムを見ているとimportの部分に「*」の様な記号を目にする事が多いですが、これは何なのでしょうか。この記号の意味を理解しておきましょう。

「*」は簡単に言うと「全て」という意味です。import文でいちいち1つづつクラスを指定していては大規模なコードを書いたときにimport文の記述が大量になって可読性が下がってしまいます。「*」を使うことでパッケージ内の複数クラスを一度に指定できるので、この問題を解消できます。

import java.awt.*;  //java.awtパッケージ内のすべてのクラスをimportする

パッケージ名の一部やクラス名の一部を「*」で省略することは不可能です。正しい使い方で記述しましょう。

巨大なクラスライブラリをどう覚えるのか

Javaは膨大な数のクラスライブラリを持っています。これらを全て覚えるのは不可能に近いです。

では、どのようにして活用していくのか。ズバリ、「APIドキュメントを活用する」ことでクラスライブラリに慣れることが大切です。

APIドキュメントとは、クラスの概要やクラスが提供する変数、コンストラクタ、メソッドなどクラスライブラリに関する仕様が全て細かく記述されています。

APIとはApplication Programming Interfaceの略です。分からないクラスやパッケージが出てきたら、積極的にAPIを活用していきましょう。慣れが重要です。

スポンサードリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です