Question 368 of 509
Java Basics and SyntaxhardMultiple ChoiceObjective-mapped

Quick Answer

The correct answer is that the compilation error occurs because the public class name must match the .java filename exactly, including case sensitivity. Java enforces this rule to allow the compiler to locate the public class entry point within the source file; when you declare a class as public, the compiler expects the filename to mirror that class name precisely. On the Oracle Java Foundations 1Z0-811 exam, this concept tests your understanding of Java’s file organization rules and often appears in questions where a student mistakenly names the file differently from the public class, such as naming the file "MyClass.java" while the class is declared as "public class myclass". A common trap is forgetting that Java is case-sensitive, so "Student" and "student" are considered different names. To remember this, think of the filename as the public class’s official ID card—they must match letter for letter, or the compiler will refuse to let the class in.

1Z0-811 Java Basics and Syntax Practice Question

This 1Z0-811 practice question tests your understanding of java basics and syntax. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.

Exhibit

Refer to the exhibit.

javac Test.java
Test.java:3: error: class Test is public, should be declared in a file named Test.java
public class Test {
       ^
1 error

What likely caused this compilation error?

Question 1hardmultiple choice
Full question →

Exhibit

Refer to the exhibit.

javac Test.java
Test.java:3: error: class Test is public, should be declared in a file named Test.java
public class Test {
       ^
1 error

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

The filename does not match the public class name

The compilation error occurs because Java requires that the public class name exactly matches the filename (including case) when the class is declared as public. If the filename is different from the public class name, the compiler will fail with an error indicating the class name is incorrect or cannot be found.

Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • The main method is missing

    Why it's wrong here

    Error is about class-file name mismatch, not about main method.

  • The file is saved with a .txt extension instead of .java

    Why it's wrong here

    The error message mentions .java, so extension is .java.

  • The filename does not match the public class name

    Why this is correct

    Correct: public class Test must be in Test.java file.

    Related concept

    Read the scenario before looking for a memorised answer.

  • The class name contains a typo

    Why it's wrong here

    Error message shows class Test is public, so name matches typical file name.

Common exam traps

Common exam trap: answer the scenario, not the keyword

Oracle often tests the rule that the public class name must match the filename, and candidates mistakenly think the main method or file extension is the cause of the error.

Trap categories for this question

  • Command / output trap

    Error message shows class Test is public, so name matches typical file name.

Detailed technical explanation

How to think about this question

Under the hood, the Java compiler (javac) uses the filename to locate the public class definition; if the filename does not match, it throws an error like 'class X is public, should be declared in a file named X.java'. This rule is enforced to maintain a one-to-one mapping between public classes and source files, which simplifies the compilation and linking process in large projects.

KKey Concepts to Remember

  • Read the scenario before looking for a memorised answer.
  • Find the constraint that changes the correct option.
  • Eliminate answers that are true in general but not in this case.

TExam Day Tips

  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Key takeaway

Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Real-world example

How this comes up in practice

A practitioner preparing for the 1Z0-811 exam encounters this exact type of scenario on the job. The correct answer here is not the most general option — it is the best answer for the specific constraint described. Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option. Real exam questions reward reading the full scenario before eliminating options, because the constraint defines which answer fits.

What to study next

Got this wrong? Here's your next step.

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

Related practice questions

Related 1Z0-811 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

Practice this exam

Start a free 1Z0-811 practice session

Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.

FAQ

Questions learners often ask

What does this 1Z0-811 question test?

Java Basics and Syntax — This question tests Java Basics and Syntax — Read the scenario before looking for a memorised answer..

What is the correct answer to this question?

The correct answer is: The filename does not match the public class name — The compilation error occurs because Java requires that the public class name exactly matches the filename (including case) when the class is declared as public. If the filename is different from the public class name, the compiler will fail with an error indicating the class name is incorrect or cannot be found.

What should I do if I get this 1Z0-811 question wrong?

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

What is the key concept behind this question?

Read the scenario before looking for a memorised answer.

About these practice questions

Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Last reviewed: Jun 30, 2026

Question Discussion

Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.

Loading comments…

Sign in to join the discussion.

This 1Z0-811 practice question is part of Courseiva's free Oracle certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 1Z0-811 exam.