Массив содержит объекты из разных подклассов. Как я могу напечатать объекты в соответствии с их подклассами?
Я использовал сканер для чтения объектов студентов (выпускников и студентов) и помещал их в массив.
Мне нужно использовать методы наследования и toString для получения результатов.
Исходные данные в текстовом файле:
G Стив 23 Биология
U Julia 19 Музыкальная флейта, год: второкурсник
G Дэвид 25 Математика
Я мог читать и печатать объекты, но только в оригинальном порядке:
ВыпускникИмя: Стив, Возраст: 23 года, Майор: Биология
Бакалавриат Имя: Юлия, Возраст: 19, Майор: Музыка, год: Второкурсник
Выпускник Имя: Двад, Возраст: 25, Майор:Математика
Ниже приведен метод, который я использовал в файле тестера:
ArrayList<Student> studentList = new ArrayList<>();
Student s = new Undergraduate(type,name,age,major,year);
studentList.add(s);
Student s = new Graduate(type,name,age, major);
studentList.add(s);
for (Student d:studentList) {
System.out.println(d.toString());
}
=== Ожидаемый результат: ===
Количество студентов бакалавриата: 1
Имя: Джулия, Возраст: 19 лет, Майор: Музыка, год: второкурсник
Количество аспирантов: 2
Имя: Стив, Возраст: 23,Major: Biology
Имя: Dvid, Возраст: 25, Major: Math
===
Это мой первый вопрос здесь. Я не знаком с системой. Я пытался сделать мой вопрос легче для чтения. Извините, если это выглядит грязно.