Что такое ООП?
ООП (объектно-ориентированное программирование) - методология, где программа состоит из взаимодействующих друг с другом объектов.
Базовые концепции ООП?
Укажите из каких элементов состоит класс. Расскажите о каждом из них.
Что такое конструктор?
Конструктор — это специальный метод, вызываемый при создании объекта.
Можно ли наследовать конструктор?
Конструктор не является членом класса, поэтому его нельзя наследовать.
Что такое перегрузка конструктора?
Перегрузка конструктора (overloading) - это создание нескольких конструкторов в одном классе с разными параметрами.
Overriding (переопределение) — в подклассе метод с тем же именем, сигнатурой и возвращаемым типом, как в суперклассе.
Что такое статический метод?
Статический метод — это метод, который принадлежит классу, а не его объектам, и вызывается без создания экземпляра.
Что такое нестатический метод?
Нестатический метод — это метод, который принадлежит объекту, а не классу.
Для чего используется ключевое слово this?
this — это ссылка на текущий объект класса.
Позволяет:
Какой класс является базовым родительским классом для всех классов?
java.lang.Object — базовый класс всех классов в Java. Он определяет методы, унаследованные всеми классами:
Что такое наследование? Приведите примеры из реальной жизни.
Наследование — это механизм ООП, позволяющий создавать новые классы на основе существующих.
Опишите процесс создания нового объекта.
Процесс создания нового объекта:
Как вызвать метод из родительского класса?
Что такое переопределение метода?
Переопределение метода (overriding) — это создание в подклассе метода с той же сигнатурой и типом возвращаемого значения, что и в суперкласса.
Можно ли переопределить статический метод?
Статические методы нельзя переопределять, т.к. они принадлежат классу, а не объекту.
Что такое сокрытие метода?
Сокрытие (method hiding) — это ситуация, когда подкласс объявляет статический метод с той же сигнатурой, что и в суперклассе.
Что такое виртуальная функция и используются ли они в Java?
Виртуальная функция - это нестатический метод, который может быть переопределён в подклассе, то есть использован при полиморфизме.
Что такое перегрузка метода?
Перегрузка (overloading) - это механизм, позволяющий объявлять методы с одинаковым именем, но разными параметрами (типом, количеством или порядком).
Можно ли изменить тип возвращаемых данных при перегрузке метода?
Тип возвращаемых данных не входит в сигнатуру метода, поэтому изменить только его недостаточно для перегрузки.
Что такое множественное наследование?
Множественное наследование - это наследование свойств и методов от нескольких суперклассов.
Что такое полиморфизм? Приведите примеры из реальной жизни.
Полиморфизм — это принцип ООП, позволяющий использовать один интерфейс для разных реализаций методов в разных классах.
Примеры:
Что такое инкапсуляция?
Инкапсуляция — это принцип ООП, который объединяет данные и методы в одном классе (капсула) и скрывает детали реализации, предоставляя только интерфейс для работы с объектом.
Как реализована инкапсуляция в Java?
Инкапсуляция реализуется через классы и модификаторы доступа.
Можно ли применить модификаторы доступа к конструкторам?
Модификаторы доступа можно применять к конструкторам для ограничения доступа к созданию объектов определёнными классами или пакетами.