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
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
A
The main method is missing
Why wrong: Error is about class-file name mismatch, not about main method.
B
The file is saved with a .txt extension instead of .java
Why wrong: The error message mentions .java, so extension is .java.
C
The filename does not match the public class name
Correct: public class Test must be in Test.java file.
D
The class name contains a typo
Why wrong: Error message shows class Test is public, so name matches typical file name.
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.
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 →
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.
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.
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.
Sign in to join the discussion.