第 11 回: パッケージ, クラス名の完全限定名, import によるクラスの取り込み, パッケージの宣言, 例外, 例外の種類

パッケージ

1. 関連する一連のクラスを名前で一まとめに管理する.
2. public 宣言をしたクラスは, パッケージの外から利用できる.
3. public 宣言をしていないクラスは, パッケージの中からしか利用できない.

クラス名の完全限定名

java.util.Random

ここで:

1. java.util はパッケージ名
2. Random は, クラス名
3. java.util パッケージに含まれている Random クラスという意味
java.util.Random rand = new java.util.Random();

のように利用する. このとき, パッケージ名を含めて指定した名前のことを完全限定名 (Fully Qualified Name) という.

クラスの完全限定名:

パッケージ名.クラス名

import によるクラスの取り込み

import java.util.*;

ように import を使うことで, 指定したパッケージに含まれる public なクラスを利用できる.

タイプ•インポート•オン•デマンド宣言:

import java.util.*;

シングル•タイプ•インポート宣言:

import java.util.Random;

上記の import で宣言しておけば:

Random rand = new Random();

のようにクラス名の指定だけで利用できる.

パッケージの宣言

パッケージを作るには, package を使う:

package mypkg;

TextParser クラスを mypkg パッケージに含めたい場合:

package mypkg;

class TextParser{
  ...
}

このとき, TextParser は, public が付いていないので, mypkg 内からのみこのクラスを利用できる.

package mypkg;

public class TextParser{
  ...
}

この場合, TextParser クラスは, public で宣言されているので, mypkg の外からも利用できる. このとき, ファイル名も, TextParser.java にする必要がある.

例外

例外 (exception): 適切なエラー処理を行うための機構:

1. throw: 例外が投げられた. 例外が throw された.
2. catch: 例外を受ける. 例外を catch する.
try{
  // 例外のスロー
}catch(Exception e){
  // 例外のキャッチ
}

例外の種類

ArrayIndexOutOfBoundsException: 配列の長さを超えた参照
FileNotFoundException: ファイルが見つからない
IllegalArgumentException: 引数が異常
OutOfMemoryError: メモリが足りない