Целевая аудитория

  • Начинающие IT специалисты

  • Разработчики

  • Все, кто хочет освоить язык Java и увлекается программированием

Программа
  • Разработка классов на Java

    • Основные законы и правила ООП

    • Объявление класса. Структура проекта

    • Элементы класса

    • Создание объектов класса

  • Инкапсуляция

    • Управление доступом, проектирование классов

    • Конструктор класса. Его виды

    • Модификаторы final и static. Смысл и применение статических элементов класса

    • Использование package и команд импорта

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

    • Правила и применение наследования

    • Повторное использования кода. Переопределение методов

    • Особенности написания и использования конструкторов при наследовании

  • Полиморфизм

    • Приведение типов и оператор instanceof

    • Понятие виртуальных методов, early и late binding

    • Абстрактные методы. Использование абстрактных классов

  • Интерфейсы и аннотации

    • Понятие интерфейса. Простая аналогия и применение

    • Объявление интерфейса

    • Реализация (имплементация) интерфейса

    • Реализация (имплементация) интерфейса

    • Использование аннотаций. Их назначение для разработки библиотек

  • Специальные классы Java, лямбда-выражения

    • Виды особых классов Java

    • Виды вложенных классов. Перечислимый тип данных

    • Анонимные классы. Инициализация экземпляром

    • Лямбда-выражения

  • Обработка исключительных ситуаций

    • Понятие исключительной ситуации. Отличие от понятия ошибки

    • Виды исключений, способы обработки

    • Операторы try, catch и finally. Оператор try-с-ресурсами

    • Собственные классы исключений

  • Stream API Java

    • Что такое Stream API

    • Промежуточные и терминальные операции

    • Как создавать (.collect) коллекции на основе потоков

  • Как создавать (.collect) коллекции на основе потоков

    • Работа с символьными и байтовыми потоками

    • Сжатие файлов

    • Сериализация объектов в Java

  • Работа с файловыми системами

    • Пакеты java.io и java.nio

    • Работа с атрибутами файлов

    • Обход дерева каталогов. Поиск файлов

  • Коллекции в Java

    • Фреймворк коллекций в Java

    • Обзор видов коллекций. Хэш-коллекции

    • Параметризованные типы данных – generic

    • Применение generic’ов для взаимодействия между классами, с помощью интерфейсов.

  • Паттерны проектирования

    • Обзор типов паттернов

    • Простейшая надежная реализация паттерна Singleton

    • Реализация паттерна Publisher/Subscriber, паттерн Observer