- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javaアソシエイツの練習問題について)
Javaアソシエイツの練習問題について
このQ&Aのポイント
- Javaアソシエイツの練習問題の回答からコンパイルエラーの原因を解説します。
- 問題文にはパッケージ宣言がないため、回答Cが正解となります。
- 質問者はなぜ問題文にパッケージ宣言がないのか疑問に思っています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#49664
回答No.1
>問題文にパッケージ宣言はないと思うのですが。。。 「パッケージ宣言はソースファイルの先頭に1つだけ記述できる」とありますように、package文は必ず先頭に書く必要があります。これが省略された場合には、デフォルトパッケージが指定されたとみなされます。 従って、もし( 空欄 )の部分にC.package exam;が書かれていた場合には、先頭の省略されたpackage指定により「デフォルトパッケージ」が指定され、そしてその後で「examパッケージ」が指定されている、従って複数のpackageが指定されたことになる、という意味かも。 普通に「packageの前に何かの文があるとエラーになる」とか説明したほうがわかりやすい気がしますね・・・。
お礼
早速の回答ありがとうございます。 なるほど、確かにパッケージ宣言は必ず先頭だから、問題文の先頭に何かしらのパッケージ宣言が隠されているか、ご指摘のデフォルトパッケージが宣言されているということで、「C」を選ぶと重複エラーになるんですね。 空欄の位置から考えて、ご回答いただいたような解説だと理解できたのですが・・・納得できました。ありがとうございました。