- •А Б СТРА К ТН Ы Е К Л А ССЫ , И
- •Абстрактны е классы
- •Свойства абстрактного класса
- •Предназначение абстрактны х классов
- •Абстрактны й метод
- •Влож енны е классы
- •Примеры классов
- •Классы -элементы классов
- •Локальны е классы
- •Анонимны е классы
- •Пример анонимного класса
- •Свойства внутренних классов
- •Создание объектов внутреннего класса
- •Создание объектов влож енны х статических
- •Доступ к объекту внеш него класса (this)из внутреннего
- •Имя ф айла с байт-кодом влож енного класса
- •Интерф ейсы
- •Использование интерф ейсов
- •Элементы интерф ейса
- •Поля интерф ейса
- •М етоды интерф ейса
- •Влож енны е классы и интерф ейсы -элементы
- •М нож ественное наследование интерф ейсов
- •Реализация интерф ейса
- •Реализация интерф ейсов и расш ирение класса
- •О ператор instanceofдля интерф ейсов
- •Частичная реализация интерф ейса
А Б СТРА К ТН Ы Е К Л А ССЫ , И Н ТЕРФ ЕЙ СЫ .
В Л О Ж ЕН Н Ы Е К Л А ССЫ , А Н О Н И М Н Ы Е,
Абстрактны е классы
Класс объявленный со спецификатором abstract
Может содержать абстрактные методы (методы без реализации).
abstract class A { abstract void m();
}
Kolesnikov D.O. SED KNURE |
2 |
Свойства абстрактного класса
Нельзя создать экземпляр, но можно объявить переменную данного типа
Может иметь конструкторы
Может содержать обычные методы
Kolesnikov D.O. SED KNURE |
3 |
Предназначение абстрактны х классов
Интерфейс к семейству классов.
База для реализации полиморфизма.
Неабстрактные потомки обязаны реализовать абстрактные методы.
Kolesnikov D.O. SED KNURE |
4 |
Абстрактны й метод
Метод, который не содержит реализации.
Обязан быть объявлен со спецификатором
abstract
public abstract void m();
Kolesnikov D.O. SED KNURE |
5 |
Влож енны е классы
Элементы класса
статические
нестатические
Локальные
анонимные
с указанием имени
Kolesnikov D.O. SED KNURE |
6 |
Примеры классов
class A { // класс верхнего уровня void m(SomeClass p) {…}
class B {} // класс элемент класса void m() {
class C {} // С – локальный класс m(new SomeClass() { // ан. класс });
}
}
Kolesnikov D.O. SED KNURE |
7 |
Классы -элементы классов
Могут иметь модификаторы/спецификаторы:
abstract
static
final
private/protected/default/public
Kolesnikov D.O. SED KNURE |
8 |
Локальны е классы
Классы, объявленные внутри методов, конструкторов, блоках инициализации.
Могут быть: abstract, final
Уровень доступа - default, по умолчанию, ограничен телом блока, в котором объявлен класс.
Kolesnikov D.O. SED KNURE |
9 |
Анонимны е классы
Класс, который не имеет имени.
Всегда расширяет класс или реализует интерфейс.
Используется при создании объектов.
Kolesnikov D.O. SED KNURE |
10 |