質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

6695閲覧

Java ソースファイルの命名規則について

nom_0124

総合スコア23

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/08/21 08:05

編集2017/08/21 08:08

こんにちは。
現在、山本道子著の「JavaプログラマBronze SE 7/8」という学習書で勉強しています。
その中で疑問に思った問題があったので、質問させてください。

疑問の出所はその26ページ目の「問題1-6」です。
簡単にその内容を説明すると、ソースファイルの作成規則として正しいものを選択肢の中から複数選びます。
そして正解の1つに、「3.javaというソースファイル名も使用できる」という選択肢が挙げられました。

しかしその名前でコンパイルしようとすると、エラーが起きますよね。
確かクラス名の命名規則に先頭文字に数字を用いたらいけないというルールがあったはずです。
またソースファイル名とpublicなクラス名は一致させなきゃいけない。
もしソースファイル名が「3(.java)」ならそれに含まれるpublicなクラス名も「3」となります。
なのでそのクラス名は先頭文字が数字で始まってることになり、前述した規則に違反しませんか?
いや、するんです。
実際に試して見たらよくわからない構文エラーが起きます。
それはソースファイル名とクラス名を変えれば解消します。

ではこの問題はミスなのでしょうか?
それとも「クラス名」ではなく「ファイル名」の規則にこだわった引っ掛け問題?
「3.javaというソースファイル名も使用できる」とはプログラムのコンパイル、実行という観点は排除して、あくまでファイル名の規則に則っているという意味合いでしょうか?
正誤表を見てもはっきりしませんでした。
どうか教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

publicなクラスは、ファイル名とクラス名が一致する必要がありますが、package privateなど、そうでないクラスは問題がないようです。

java

1// これを3.javaにしてもコンパイルは通る 2package com.teratail.q89128; 3 4class Test{ 5 6}

投稿2017/08/21 08:36

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nom_0124

2017/08/21 08:42

なるほど!ありがとうございます!
guest

0

publicなクラスじゃなければファイル名と同じにする必要は無い。

投稿2017/08/21 08:25

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nom_0124

2017/08/21 08:42

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問