HOME技術JAVAJAVAのパッケージ

JAVAのパッケージ

パッケージとはクラスのさらに上の概念です。
あるパッケージに属するクラスは、同じ名称であっても別のパッケージのクラスとは別物として扱われます。

「aaa」パッケージの「cde」というクラスと、
「bbb」パッケージの「cde」というクラスは、別のものと認識される。

パッケージは複数あるソースファイルを、同一のパッケージに属するものとして指定することができます。
大規模に開発をおこなったり、既にあるフリーのソースファイルを流用したりする場合には、このパッケージの概念が重要になってきます。

パッケージの設定方法

ソースコードの先頭にパッケージ名を記述することで、そのソースコードに書かれているクラスは、そのパッケージに属していることになります。

package パッケージ名;

abcという名前のパッケージに属するefgというクラスのなかのhij()メソッドを使う場合には、以下のように書きます。

int Hensu = abc.efg.hij();

なお、パッケージ名を指定しない場合には、呼び出し元と同じパッケージ内を探します。

パッケージの命名ルール

パッケージ名は、一般的なルールとして、「ドメインを反対側から記載したもの」ということになっています。

「http://xxx.yyyyy.com」の場合には、「xxx.yyyyy.com」を反対側から記載したものになります。つまり、「com.yyyyy.xxx」です。

ドメインを使う理由は、一意のものになるためです。
パッケージを会社を超えて開発したりする場合、適当に命名していた場合、バッティングする恐れがありますが、ドメインを基準にしていたらバッティングの恐れがなくなるため、このようなルールが一般化されたようです。

パッケージのインポート

ところで、別のパッケージにあるクラスを毎回パッケージ名を指定して呼び出すのは面倒なので、先にそのクラスはパッケージを指定しなくても使えるように読み込んでしまう方法があります。
それをインポートといいます。

インポートをするには、以下のように書きます。

import パッケージ名.クラス名;

インポート文は、パッケージ文の直後に書きます。

例えば、aaaというパッケージにあるbbbクラスのccc()メソッドを指定する場合、インポート文を使わないと以下のようになります。

int Hensu = aaa.bbb.ccc( i );

しかし、インポート文を使うと以下のように書くことができます。

import aaa.bbb;
public class ddd{
public static void main (String[] args){
int Hensu = bbb.ccc( i );
}
}

上記のインポート文ではaaaパッケージのbbbクラスのみをインポートしていますが、aaaパッケージのすべてのクラスをインポートする場合には、「*」を使って一文で済ませることができます。

inport aaa.*;

関連記事

JAVAのループ処理:for文

JAVAにおけるループ処理の一つとして、while文のほかに、for文というのがあります。 これはある条件を満たしている場合は決められた処理を繰り返すというところまではwhile文と一緒ですが、条件を…続きを読む

WindowsにJAVA実行環境「Pleiades」をインストールする

プログラミングを学習するためにJAVAでアプリケーションをつくることにしました。手始めに、Windows 10にJAVAの実行環境をつくります。 Windows 10にJAVAの開発環境をつくる JA…続きを読む

JAVAで変数を使う:変数宣言と変数の型

変数とは、プログラム内で利用される「値」を入れるための「器」です。 変数は一定の規則に従えば、任意の名前を付けることができます。 変数はどのように使うのかというと、例えば、Hensuという名前を変数を…続きを読む

JAVAの配列変数の宣言

配列変数とは、変数を1つのグループとして使う方法です。 変数名は同じだけれど、[1]、[2]、[3]…とその変数の要素を設定できます。 JAVAでは配列変数を以下のように表します。 int[] Hai…続きを読む

Eclipseを使ってJAVAで”Hello World”を表示する

統合開発環境(IDE)であるEclipseを使ってJAVAプログラミングを練習していきます。第一弾は、基本中の基本である、「Hello World」を表示する、というものです。 Eclipseの使い方…続きを読む

JAVAのローカル変数とグローバル変数

変数には、その有効範囲が定められています。 この有効範囲のことをスコープと言います。 スコープ内では変数を利用できますが、スコープ外ではその変数は存在しないことになり、利用することができません。 ロー…続きを読む

JAVAの予約語

プログラム言語で予め使われている名前、たとえば変数の型を示す名前などは、変数名やクラス名として宣言することができません。これらの名前を予約語といいます。 予約語一覧 abstract(修飾子) ass…続きを読む

JAVAの条件式で文字列を比較する場合の注意点

JAVAのif文などで条件式において文字列を比較する際には、数値を比較する場合と違う書き方をしなければなりません。 if ( Mojiretsu.equals(“文字列”) {…続きを読む

JAVAの条件分岐:switch文

if文と並ぶ条件分岐の構文として、もう一つ、switch文があります。 if文が条件が真偽で処理を変える2択(elseifを付ければ複数の選択肢を持たすことができるが)であるのに対し、switch文は…続きを読む

JAVAのメソッドとは

→前回(Eclipseを使ってJAVAで”Hello World”を表示する) 前回は”Hello World”という文字列をコンソールに表示しました。…続きを読む