AP CSA Static vs. Instance

Static vs Instance in AP CSA

Instance members belong to a specific object. Static members belong to the class itself and are shared across all objects. The Math class is all static — you never write new Math().

Instance Members

Each object gets its own copy of instance variables. Instance methods can access instance variables with this.

public class Circle {
    private double radius;          // instance variable -- each Circle has its own

    public Circle(double r) {
        radius = r;
    }

    public double getArea() {       // instance method -- needs a specific Circle
        return Math.PI * radius * radius;
    }
}

Static Members

Static variables are shared by all objects. Static methods belong to the class and cannot access instance variables directly.

public class Circle {
    private double radius;
    private static int count = 0;   // shared across ALL circles

    public Circle(double r) {
        radius = r;
        count++;                    // every new Circle increments the shared count
    }

    public static int getCount() { // static method -- called on the class
        return count;
    }
}
// Usage
Circle c1 = new Circle(5.0);
Circle c2 = new Circle(3.0);
System.out.println(Circle.getCount());  // 2 -- called on CLASS, not object
⚠ Static Can’t Touch Instance: A static method cannot reference instance variables or call instance methods directly. It has no this reference because it’s not called on a specific object.

📝 Practice Question 1

A class Player has a static variable playerCount and an instance variable score. After creating 3 Player objects, which of the following is true?

📝 Practice Question 2

Which of the following will cause a compile-time error?

I. A static method calling another static method in the same class
II. A static method directly accessing an instance variable
III. An instance method calling a static method in the same class

✅ Exam Tip: The AP exam calls static methods using the class name: Math.random(), Math.abs(). You’ll also see static variables used as counters that track how many objects were created — classic FRQ pattern.

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]