MENU

【Java Silver 試験】パッケージとインポートの利用法

今回はJavaプログラムにおけるパッケージ宣言とインポートの使い方を学びましょう。

問題

次のプログラムをコンパイルして実行した場合、結果はどれになりますか?正しい答えを選んでください。

package myapp.utility;

import myapp.utility.helper.Helper;

class Main {
    public static void main(String[] args) {
        Helper.printMessage();
    }
}

package myapp.utility.helper;

public class Helper {
    public static void printMessage() {
        System.out.println("Hello from Helper");
    }
}

選択肢

  • A. Hello from Helper
  • B. コンパイルエラー
  • C. 実行時エラー
  • D. パッケージエラー

答えと解説

回答を見る

答え

B. コンパイルエラー

解説

基本説明:

Javaでは、コードを再利用しやすくし、命名衝突を避けるためにパッケージを使用します。パッケージはディレクトリに似ており、関連するクラスをグループ化します。

プログラムをパッケージに属するようにするためには、ソースファイルの最上部にpackage宣言が必要です。

また、他のパッケージに属するクラスを使用する場合はimport文を用います。

誤答理由:

このプログラムは2つのパッケージ宣言が同一ファイル内にあり、それぞれ異なるパッケージを宣言しています。これはJavaのルールでは認められていません。

一つのJavaファイルは、単一のパッケージ宣言しか持てないのが原則です。したがって、このコードをコンパイルするとエラーになります。

つまずきポイント:

Javaプログラムを書いているとき、パッケージの階層とインポートステートメントの正確さが重要になります。多くの初心者は複数のパッケージ宣言で混乱しがちです。

また、同じファイルに複数のクラスを定義することがありますが、それぞれのクラスのパッケージが同じであることを確認する必要があります。

発展知識:

パッケージを使う利点は、例えば組織内での命名規則を簡単に作れることです。通常、逆ドメイン名を最初に使うことで衝突を避けます(例: com.example.myapp)。

なお、JDKが提供するライブラリもパッケージ化されています。同様に、クラス間の関係や依存関係を保つため、正しくパッケージを設定することが重要です。

目次