• ベストアンサー

ソースファイルの名前=クラスの名前?

java初心者です。よろしくお願いします。 「javaのソースファイルの名前とクラスの名前は一致させる」という記述を入門書の最初の方では必ず書いてあるのですが、もう少し読んでいくと一つのソースファイルの中にいくつかクラスを作るという段階になると思うのですが、これは「public class」のクラスの名前をソースファイルの名前と一致させるということでしょうか?(つまり、public classは一つのソースファイルに一つしか書かない、ということでしょうか?) 多分違うような気が何となくするのですが、頭がこんがらがっています。 よろしくお願いします。

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

  • ベストアンサー
  • neko_noko
  • ベストアンサー率45% (146/319)
回答No.1

>これは「public class」のクラスの名前をソースファイルの名前と一致させるということでしょうか? その通りです。間違っていません。 もう少し付け足すと、 1つのソースファイルにはpublicなクラスは1つしか定義できません。 これはJavaの言語仕様で決まっているもので、そういうルールです。 なので、publicなクラス名とソースファイル名を一致させられます。 また、複数のクラスをまとめる場合は、publicなクラスを2つ以上まとめることはできませんが、 publicでないクラスなら、そのような制限はありません。 なので、 publicなクラス(1つ以下)+publicでないクラス(数に制限なし) という構成で1つのソースファイルにまとめることができるのです。

rapun
質問者

お礼

回答ありがとうございます。 大変わかりやすかったです。

関連するQ&A