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

Лекции Java / 04. Исключительные ситуации и их обработка. Наследование и его особенности.pptx

.pdf
Скачиваний:
137
Добавлен:
16.03.2015
Размер:
217.8 Кб
Скачать

Выбрасывание исключений

nОбъявляемые и необъявляемые исключения, выбрасываемые вызываемыми методами и операторами

nЯвно (принудительно) выбрасываемые исключения

throw referenceToThrowableObject;

throw new NoSuchAttributeException(name);

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

21

Создание типов исключений

nСоздается новый тип, наследующий от более широкого типа, подходящего по смыслу (например, java.lang.IndexOutOfBoundsException)

nСамо то, что выбрасывается исключение более узкого типа, несет в себе информацию

nВ состав нового типа могут вводиться новые поля и методы

nЧаще всего класс содержит только 2 конструктора (по умолчанию и с параметром-строкой), просто вызывающие конструкторы родительского класса

nСовременные среды разработки облегчают создание собственных классов исключений

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

22

Отладка приложений

Собственные средства

nДобавление дополнительного кода

nВывод данных на печать

nВывод данных в системные журналы

(logging)

nСоздание дополнительных методов проверки

Отладчики (debuggers)

nВ составе JDK, в составе среды разработки (IDE),

отладчики сторонних компаний

nИспользование точек останова, пошаговых режимов, просмотра состояния объектов

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

23

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

Лекция 4.2

Наследование и его особенности

© Составление, Гаврилов А.В., 2013

Самара

2013

План лекции

nВиды наследования

nРасширение классов

nПереопределение методов

nСокрытие полей

nЗавершенные и абстрактные методы и классы

nИнтерфейсы и их описание

nИспользование интерфейсов

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

25

Наследование в Java

Виды наследования

n Класс

Расширяет класс

Реализует интерфейсы

Наследование как типа, так и реализации

n Интерфейс

Расширяет интерфейсы

Наследование ТОЛЬКО типа

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

26

Расширение классов

n Класс может расширить только один класс

class MyClass1 {

}

class MyClass2 extends MyClass1 {

}

nЕсли родительский класс не указан явно, родительским становится класс java.lang.Object

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

27

Конструкторы дочерних классов

nВызываются для создания объектов дочерних классов

nМогут вызывать друг друга по ключевому слову this()

nВ первой строчке должны вызывать конструкторы базового класса по ключевому слову super()

nКлючевое слово super() может не

использоваться, только если в родительском классе существует конструктор по умолчанию

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

28

Порядок создания объекта

n Порядок вызова конструкторов:

Вызов конструктора базового класса

Присваивание исходных значений полям объекта посредством выполнения соответствующих выражений и блоков инициализации

Выполнение инструкций в теле конструктора (конструкторов)

nСостояние объекта

инициализируется «послойно» от Object до конкретного класса

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

29

Забавный пример

class SuperShow {

public String str = "SuperStr";

public void show() { System.out.println("Super.show: " + str);

}

}

class ExtendShow extends SuperShow { public String str = "ExtendStr";

public void show() { System.out.println("Extend.show: " + str);

}

}

Самарский государственный аэрокосмический университет имени академика С.П. Королёва

30