public 修飾子が付与されたクラスが含まれる場合、そのソースファイルのファイル名は「クラス名.java」と完全に一致させなければなりません。1つの .java ファイル内に複数のクラスを記述することは可能ですが、public なクラスは1つのファイルにつき最高1つしか定義できません。
また、Javaにおけるすべてのクラスは、明示的に extends を記述しない場合でも、自動的に java.lang.Object クラスを最上位のスーパークラスとして継承する仕組みになっています。これにより、あらゆるオブジェクトは equals(), toString(), hashCode() などの共通メソッドを標準で保持しています。
Test.java であるのに、内部で public class Demo {} と宣言すると「クラス Demo は public であり、ファイル Demo.java で宣言する必要があります」というコンパイルエラーになります。
2. 複数のpublicクラスの禁止:1つの .java ファイルに public なクラスを2つ以上書くとコンパイルエラーになります。
3. package無宣言時の挙動:パッケージ宣言を行わないクラスは「無名パッケージ(デフォルトパッケージ)」に属し、同じ無名パッケージのクラスからしか参照できません。
ファクトチェック:1Z0-825-JPN(2026-08-01確認)。試験番号1Z0-825-JPN、試験時間90分、60問、合格ライン65%です。
この記事は公式出題範囲・チェックリストとの対応を編集部で確認した学習解説です。