MENU

【Java Silver 試験】パッケージの宣言とインポート – パッケージへの理解を深める

本日はパッケージとインポートについての理解を深める問題に挑戦しましょう。

問題

次のJavaプログラムを実行した場合、得られる出力はどれか適切な選択肢を選んでください。

        package com.example.animals;

        class Cat {
            public void makeSound() {
                System.out.println("Meow");
            }
        }
        
        package com.example.zoo;

        import com.example.animals.Cat;

        public class Zoo {
            public static void main(String[] args) {
                Cat cat = new Cat();
                cat.makeSound();
            }
        }
      

選択肢

  • A. Meow
  • B. コンパイルエラー
  • C. 実行時エラー
  • D. No output

答えと解説

回答を見る

答え

B. コンパイルエラー

解説

基本説明:

Javaでパッケージを使用する際、各ソースファイルには1つのパッケージ宣言が必要です。

パッケージを宣言するには、ファイルの先頭にpackageキーワードを使い、フォルダ構造に基づいた名称を指定します。

これにより、クラスやインターフェースの名前空間を整理し、同名クラスの衝突を避けることができます。

今回のコードでは、1つのファイル内に2つのパッケージ宣言が含まれており、これが誤りです。

誤答理由:

2つの異なるパッケージ宣言が同一ファイル内に存在するため、Javaコンパイラはエラーを出します。

Javaファイルには1つのパッケージしか宣言できません。そしてこの規則が守られていない場合、コンパイルエラーが発生します。

つまずきポイント:

初心者がよく誤解するのは、2種類のクラスを1つのファイル内で宣言して、そのファイルに異なるパッケージを付けられると思いがちですが、これはうまくいきません。

Javaファイルはその内部で使用される全てのクラスに対して1つのパッケージ宣言を維持する必要があります。

発展知識:

パッケージ宣言はクラスの最小単位として見られがちですが、プロジェクトの中で大切な役割を果たします。

これは、プロジェクトの構造設定や日々の開発に大きな影響を与えます。

複雑なアプリケーションでのクラス管理を容易にし、クラスアクションを効果的に制御することができます。

目次