• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javaアソシエイツの練習問題について)

Javaアソシエイツの練習問題について

このQ&Aのポイント
  • Javaアソシエイツの練習問題の回答からコンパイルエラーの原因を解説します。
  • 問題文にはパッケージ宣言がないため、回答Cが正解となります。
  • 質問者はなぜ問題文にパッケージ宣言がないのか疑問に思っています。

質問者が選んだベストアンサー

  • ベストアンサー
noname#49664
noname#49664
回答No.1

>問題文にパッケージ宣言はないと思うのですが。。。 「パッケージ宣言はソースファイルの先頭に1つだけ記述できる」とありますように、package文は必ず先頭に書く必要があります。これが省略された場合には、デフォルトパッケージが指定されたとみなされます。 従って、もし( 空欄 )の部分にC.package exam;が書かれていた場合には、先頭の省略されたpackage指定により「デフォルトパッケージ」が指定され、そしてその後で「examパッケージ」が指定されている、従って複数のpackageが指定されたことになる、という意味かも。 普通に「packageの前に何かの文があるとエラーになる」とか説明したほうがわかりやすい気がしますね・・・。

yngwie0112
質問者

お礼

早速の回答ありがとうございます。 なるほど、確かにパッケージ宣言は必ず先頭だから、問題文の先頭に何かしらのパッケージ宣言が隠されているか、ご指摘のデフォルトパッケージが宣言されているということで、「C」を選ぶと重複エラーになるんですね。 空欄の位置から考えて、ご回答いただいたような解説だと理解できたのですが・・・納得できました。ありがとうございました。

関連するQ&A

専門家に質問してみよう