Содержание
- 2. Абстрактные классы Класс объявленный со спецификатором abstract Может содержать абстрактные методы (методы без реализации). abstract class
- 3. Свойства абстрактного класса Нельзя создать экземпляр, но можно объявить переменную данного типа Может иметь конструкторы Может
- 4. Предназначение абстрактных классов Интерфейс к семейству классов. База для реализации полиморфизма. Неабстрактные потомки обязаны реализовать абстрактные
- 5. Абстрактный метод Метод, который не содержит реализации. Обязан быть объявлен со спецификатором abstract public abstract void
- 6. Вложенные классы Элементы класса статические нестатические Локальные анонимные с указанием имени Kolesnikov D.O. SED KNURE
- 7. Примеры классов class A { // класс верхнего уровня void m(SomeClass p) {…} class B {}
- 8. Классы - элементы классов Могут иметь модификаторы/спецификаторы: abstract static final private/protected/default/public Kolesnikov D.O. SED KNURE
- 9. Локальные классы Классы, объявленные внутри методов, конструкторов, блоках инициализации. Могут быть: abstract, final Уровень доступа -
- 10. Анонимные классы Класс, который не имеет имени. Всегда расширяет класс или реализует интерфейс. Используется при создании
- 11. Пример анонимного класса class T {} T t = new T() { void m() {...} }
- 12. Свойства внутренних классов Не могут объявлять статических полей (кроме констант), методов и классов (но могут наследовать
- 13. Создание объектов внутреннего класса (нестатические элементы классов) Расширенный синтаксис оператора new class A { class B
- 14. Создание объектов вложенных статических классов class A { static class B {} } A.B b =
- 15. Доступ к объекту внешнего класса (this) из внутреннего class A { private int x; class B
- 16. Имя файла с байт-кодом вложенного класса Для каждого класса компилятор (javac) создает отдельный файл класса. Outer$Inner.class
- 17. Интерфейсы Определяют границы взаимодействия между объектами. Определяют абстракцию, реализацию которой предоставляет имплементирующая интерфейс сторона. Kolesnikov D.O.
- 18. Использование интерфейсов Класс может реализовывать интерфейс Можно объявить интерфейсную переменную Интерфейс может наследовать несколько других интерфейсов
- 19. Элементы интерфейса поля (public static final) методы (public abstract) интерфейсы (public static) классы (public static) Указанные
- 20. Поля интерфейса константы (final) статические (static) публичные (public) должны быть проинициализированы при объявлении Kolesnikov D.O. SED
- 21. Методы интерфейса абстрактные (abstract) публичные (public) Kolesnikov D.O. SED KNURE
- 22. Вложенные классы и интерфейсы- элементы интерфейсов Статические Kolesnikov D.O. SED KNURE
- 23. Множественное наследование интерфейсов interface Interf extends Interf1, Interf2 { ... } Kolesnikov D.O. SED KNURE
- 24. Реализация интерфейса class A implements Interf1, Interf2 { ... } Kolesnikov D.O. SED KNURE
- 25. Реализация интерфейсов и расширение класса class A extends B implements Interf1, Interf2 { ... } Kolesnikov
- 26. Оператор instanceof для интерфейсов interface I {} class A implements I {} ... boolean f =
- 28. Скачать презентацию