AP CSA 3.8 Exercise 2: Scope and Access Applied Practice

Unit 3: Class Creation · Lesson 3.8 · Exercise 2

Scope and Access: Applied Practice

Six scenarios on where a name is visible, and what happens when a local variable hides a field.

How this one is different

The exercise-1 editor asks you to apply access modifiers. These six ask which declaration a name actually refers to, because shadowing compiles cleanly and does the wrong thing.

Applied Practice

6 questions · scenario driven · every answer is recorded for your teacher

Question 1 of 6Analyze
A method declares a local variable with the same name as an instance variable, then assigns to that name.
Which one is assigned?
Incorrect. Reaching the field then requires this.name.
Correct. Correct, and the field silently keeps its old value, which is the shadowing bug.
Incorrect. One name refers to exactly one declaration at a time.
Incorrect. Shadowing is legal.
Question 2 of 6Apply
A variable is declared inside a for loop body and used after the loop.
What happens?
Correct. Correct. Declaring it before the loop is the fix when the value must survive.
Incorrect. There is no variable left to hold anything.
Incorrect. Same reason.
Incorrect. The name no longer exists after the block.
Question 3 of 6Analyze
A field is declared private and another class tries to read it directly.
What is the result?
Incorrect. No read occurs at all.
Incorrect. Sharing a file does not grant private access across classes.
Incorrect. private is enforced by the compiler.
Correct. Correct, and a public accessor method is the intended route.
Question 4 of 6Apply
A helper method is used only inside its own class.
What access modifier is appropriate?
Incorrect. static concerns object association, not visibility.
Incorrect. Widening access to ease testing turns an internal detail into a commitment.
Correct. Correct. Default to the narrowest access that works.
Incorrect. No modifier means package access, which is broader than private.
Question 5 of 6Evaluate
A constructor parameter shadows a field and the programmer wants to assign the parameter to the field.
What is required?
Incorrect. Renaming works but is not required, and matching names are the convention.
Correct. Correct, and this is exactly why 3.9 exists as its own topic.
Incorrect. Making it static changes the design to solve a naming problem.
Incorrect. Unqualified, both sides are the parameter and the field is never touched.
Question 6 of 6Apply
Two different methods each declare a local variable named temp.
Do they conflict?
Correct. Correct. Independent scopes are what make short local names safe.
Incorrect. Locals cannot be static.
Incorrect. Type does not create or prevent a conflict.
Incorrect. Uniqueness is required within a scope, not across a class.

Where to go next

Get in Touch

Whether you're a student, parent, or teacher — I'd love to hear from you.

Just want free AP CS resources?

Enter your email below and check the subscribe box — no message needed. Students get daily practice questions and study tips. Teachers get curriculum resources and teaching strategies.

Typically responds within 24 hours

Message Sent!

Thanks for reaching out. I'll get back to you within 24 hours.

🏫 Welcome, fellow educator!

I offer curriculum resources, practice materials, and study guides designed for AP CS teachers. Let me know what you're looking for — whether it's classroom materials, a guest speaker, or Teachers Pay Teachers resources.

Email

[email protected]

📚

Courses

AP CSA, CSP, & Cybersecurity

Response Time

Within 24 hours

Prefer email? Reach me directly at [email protected]