
Задания Java / Лабораторная работа №4
.docЛабораторная работа №4
Задание на лабораторную работу
В процессе написания тестовых заданий ознакомиться с методами класса Object и расширить функциональность имеющегося пакета.
Задание 1
Добавить в классы Student и Schoolboy реализации методов String toString(). Использовать для формирования строки экземпляр класса StringBuffer.
Задание 2
Добавить в классы Student и Schoolboy реализации методов boolean equals(Object obj). Метод должен возвращать true только в том случае, если объект, на который передана ссылка, является учеником и имеет такую же фамилию, список предметов и оценок, что и текущий объект. Использовать instanceof.
Задание 3
Добавить в классы Student и Schoolboy реализации методов int hashCode().
public class Student {
private String name;
private int[] marks;
private String[] subjects;
public int hashCode() {
int result = name != null ? name.hashCode() : 0;
result = 31 * result + (marks != null ? Arrays.hashCode(marks) : 0);
result = 31 * result + (subjects != null ? Arrays.hashCode(subjects) : 0);
return result;
}
}
public class Schoolboy {
private String name;
private Register[] registers;
private class Register {
int mark;
String subject;
public int hashCode() {
int result = mark;
result = 31 * result + (subject != null ? subject.hashCode() : 0);
return result;
}
}
public int hashCode() {
int result = name != null ? name.hashCode() : 0;
result = 31 * result + (registers != null ? Arrays.hashCode(registers) : 0);
return result;
}
}
Задание 4
Добавить в классы Student и Schoolboy реализации методов Object clone(). Клонирование должно быть глубоким. Использовать super.clone().
Вопросы
-
Расширенный класс. Конструкторы расширенных классов. Порядок выполнения конструкторов.
-
Перегрузка и переопределение методов.
-
Сокрытие полей. Доступ к унаследованным членам. Возможность доступа и переопределение.
-
Сокрытие статических членов. Служебное слово super.
-
Совместимость. Явное преобразование типов.
-
Проверка типа.
-
Методы и классы final.
-
Методы и классы abstract.
-
Класс Object. Методы класса Object. Клонирование объектов.