Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СТП / lec / java2014-lec-04

.pdf
Скачиваний:
11
Добавлен:
03.03.2016
Размер:
1.95 Mб
Скачать

Методы c переменным количеством аргументов

31

Перегрузка конструкторов

32

Перегрузка конструкторов

33

Перегрузка конструкторов - наследование

34

Перегрузка конструкторов –

вызов родительского конструктора

Вызов родительского конструктора выполняется с помощью ссылки super в первой строке дочернего конструктора.

Может быть вызван любой родительский конструктор с аргументами с помощью ссылки super.

Если в конструкторе нет явного вызова родительского конструктора, то компилятор добавит неявный вызов родительского конструктора super() без аргументов,

который может быть и конструктором по умолчанию.

Если родительский класс содержит разные описания конструкторов, но среди них нет конструктора без аргументов, то это вызовет ошибку компиляции.

35

Перегрузка конструкторов –

вызов родительского конструктора

36

Конструирование и инициализация объектов

Прежде всего происходит выделение памяти и инициализация

параметров по умолчанию.

Инициализация экземпляра объекта состоит из следующих

шагов, выполняющихся рекурсивно:

1.Привязка(биндинг) значений к переменным

2.Если присутствует явный вызов this(), то переходим к шагу №5.

3.Рекурсивно явно или неявно вызываются все родительские конструкторы (исключая класс Object).

4.Выполняется вся явная инициализация переменных.

5.Выполняются операторы тела конструктора.

37

Конструирование и инициализация объектов

38

Класс Object

39

Метод equals

Оператор “==” срабатывает, если две ссылки являются идентичными (то есть указывают на один объект).

Метод equals срабатывает, ели объекты равны, но необязательно идентичны.

Для класса Object – это одно и то же! (метод equals

использует в своей реализации ==)

Разработчик может переопределять метод equals для учета специфики проверки конкретных объектов.

При переопределении equals вы обязательно должны переопределить метод hashcode.

40

Соседние файлы в папке lec