Unit 5: Writing Classes

AP Computer Science A

What you'll master in this unit

The anatomy of a class

java
public class Student {
    // Instance variables (data each object holds)
    private String name;
    private int grade;
    private double gpa;
    
    // Constructor (initializes a new object)
    public Student(String name, int grade, double gpa) {
        this.name = name;
        this.grade = grade;
        this.gpa = gpa;
    }
    
    // Accessor methods (getters — read data)
    public String getName() { return name; }
    public int getGrade() { return grade; }
    public double getGpa() { return gpa; }
    
    // Mutator methods (setters — change data)
    public void setGpa(double gpa) { this.gpa = gpa; }
    
    // Other methods
    public boolean isHonors() {
        return gpa >= 3.5;
    }
    
    public String toString() {
        return name + " (Grade " + grade + ", GPA: " + gpa + ")";
    }
}

Why encapsulation matters

java
Student s = new Student("Alice", 11, 3.8);

// WRONG — can't access private variables
// System.out.println(s.name);

// CORRECT — use getter methods
System.out.println(s.getName());   // "Alice"

Why Unit 5 matters