5. Основы ООП. Понятие класса. Понятие инстанса класса. Объект и ссылка. Передача значения по ссылке и по объекту. Пакеты и модификаторы доступа.
6. 4 принципа ООП. Примеры применения принципов
7. Объявление класса. Конструктор. Перечисления. Вложенные классы
8. Наследование. Композиция и агрегация. Класс Object. toString(), hashCode(), equals() методы. Ключевое слово static. Final методы и переменные ()
9. Абстрактные классы и интерфейсы. Отличия между ними и необходимость использования для создания слабосвязанных приложений. Пример использования интерфейсов в JDK
10. Основы проектирования ПО. Анонимные и внутренние классы.
11. String: mutable, immutable классы, отличия. StringBuilder, StringBuffer - пример классов из JDK. Основные методы классов.