1. What is an Array of Objects?

2. Declaration and Initialization

a. Declare an array of a class type:

1
ClassName[] arrayName;

b. Create the array (allocate memory for references):

1
arrayName = new ClassName[size];

c. Create and assign actual objects:

1
arrayName[0] = new ClassName();

Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Student {
    String name;
    int age;

    Student(String n, int a) {
        name = n;
        age = a;
    }

    void show() {
        System.out.println(name + " is " + age + " years old.");
    }
}

public class Main {
    public static void main(String[] args) {
        Student[] students = new Student[3];

        students[0] = new Student("Alice", 20);
        students[1] = new Student("Bob", 21);
        students[2] = new Student("Charlie", 19);

        for (Student s : students) {
            s.show();
        }
    }
}

3. Accessing Elements

You can access or update any object in the array using indices:

1
2
students[1].name = "Bobby";
students[1].show(); // Updated object

Imagine a library system storing multiple Book objects:

1
Book[] books = new Book[10];

This allows you to manage multiple books with shared logic and structure.

5. Common Operations on Object Arrays

Operation Example
Create array Employee[] emps = new Employee[5];
Assign object emps[0] = new Employee(...);
Access property emps[0].getName();
Iterate over array for (Employee e : emps) {...}

6. Important Notes

7. Comparison with Array of Primitive Types

Feature Primitive Array Object Array
Type int[], double[] Student[], Book[]
Stores Data values Object references
Initialization new int[5] new Student[5] + objects
Flexibility Limited to data types Full OOP support