I am trying to print out an array of the object Teacher that I have created, and its giving me a weird output. [Teacher@659e0bfd, Teacher@2a139a55, Teacher@15db9742, Teacher@6d06d69c, Teacher@7852e922] I have had this problem before where I was trying to use toString() on a 2d array, but I am now using a 1d array of objects. I have tried using both deepToString() and toString(), but it still gives output like that. I tried looking up how to print out an array of Objects, but all I find is how to print out a regular array.
My Code:
import java.util.Arrays;
public class Main {
public static void main(String[] args){
Teacher[] teachers = new Teacher[5];
Student[] students = new Student[25];
createTeacherNames(teachers);
System.out.println(Arrays.toString(teachers));
}
public static void createTeacherNames(Teacher[] teachers){
teachers[0] = new Teacher("Mrs.", "Smith", 201);
teachers[1] = new Teacher("Mr.", "Johnson", 202);
teachers[2] = new Teacher("Mrs.", "Williams", 203);
teachers[3] = new Teacher("Mr.", "Brown", 204);
teachers[4] = new Teacher("Mr.", "Jones", 205);
}
}
Person Class:
public class Person {
public String firstName;
public String lastName;
public Person(String firstName, String lastName){
this.setFirstName(firstName);
this.setLastName(lastName);
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
}
Teacher Class:
public class Teacher extends Person {
public int roomNumber;
public Teacher(String firstName, String lastName, int roomNumber) {
super(firstName, lastName);
}
}
Student Class:
public class Student extends Person {
public Student(String firstName, String lastName, int studentIdNumber, double GPA) {
super(firstName, lastName);
}
}