Summary: In this programming example, we will learn to create an array of objects in Java.

A class in Java can be interpreted as a user-defined type, hence we can use it as a type to create an array (like an array of primitive types) that will store its objects.

Example:

//Array of Integers
int numbers[] = new int[size];

//Array of Objects
class_name object_name[] = new class_name[size];

Here is a Java program that create an array of the Student class and output the same:

import java.util.Scanner;
 
class Student{
  public int roll;
  public String name;
 
  Student(int roll, String name){
    this.roll = roll;
    this.name = name;
  }
 
  //Override toString() to print object directly
  public String toString(){
    return "{roll: "+this.roll+", name: "+this.name+"}";
  }
  
}
 
class Main {
  public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
 
    //Declare Array of class Students
    Student stdArray[]= new Student[3];
 
    System.out.println("Enter 3 students details");    
    for(int i=0; i<3; i++){
      //Create a new object of class Student
      Student newStudent = new Student(in.nextInt(),in.next());
      //Assign the object to the object array
      stdArray[i] = newStudent;
    }
 
    System.out.println("Students details are:");    
    for(int i=0; i<3; i++){
      //Student.toString() method will be used to output object
      System.out.println(stdArray[i]);
    }
 
  }
}

Output:

Enter 3 students details
1 Ak
2 AAk
3 Avk
Students details are:
{roll: 1, name: Ak}
{roll: 2, name: AAk}
{roll: 3, name: Avk}

In the above program, we have overridden the toString() method in the Student class to display object information in a structured format.

Whatever we return as a string from the overridden toString() method, will be printed for the respective instances of the class.

Hope now you can easily create an array of objects in Java. If you have any doubts or suggestion then comment below.

Leave a Reply

eight − 2 =