1. Что такое ключевое слово
static и где оно используется?Ответ:
Статические члены принадлежат классу, а не экземпляру.
Можно обращаться к ним без создания объекта.
В памяти существует только одна копия.
2. В чём разница между
abstract class и interface?Ответ:
- Абстрактный класс: может содержать реализации методов, конструкторы, поддерживает одиночное наследование
- Интерфейс: начиная с Java 8, может иметь методы по умолчанию, поддерживает множественное наследование, содержит только публичные методы
3. Что такое wrapper-классы и зачем они нужны?
Ответ:
Это объектные обёртки над примитивами (
Integer, Boolean и т. д.). Используются в коллекциях, обобщениях и там, где требуются объекты вместо примитивов.
4. Что делает оператор
instanceof?Ответ:
Проверяет, является ли объект экземпляром определённого класса или интерфейса.
Возвращает boolean.
5. Что такое инкапсуляция и как её реализовать?
Ответ:
Сокрытие внутреннего состояния и предоставление доступа через методы.
Реализуется с помощью приватных полей и публичных геттеров/сеттеров.
6. Что такое абстракция и как она реализуется?
Ответ:
Сокрытие деталей реализации и упрощение интерфейса.
Реализуется через абстрактные классы и интерфейсы.
7. Можно ли переопределить
private-метод?Ответ:
Нет. Приватные методы недоступны в наследниках, поэтому их нельзя переопределить.
8. Может ли класс быть одновременно
abstract и final?Ответ:
Нет.
abstract означает, что класс предназначен для наследования, а
final — что класс нельзя наследовать.9. Что такое marker-интерфейсы?
Ответ:
Интерфейсы без методов, используемые как метки.
Примеры:
Serializable, Cloneable.10. Что такое diamond problem (проблема ромбовидного наследования)?
Ответ:
Проблема возникает при множественном наследовании,
если класс наследует двух родителей, имеющих общего предка — возникает неоднозначность, какой метод использовать.
11. В чём разница между
Collection и Collections?Ответ:
-
Collection — корневой интерфейс для всех коллекций-
Collections — утилитарный класс с набором статических методов для работы с коллекциями12. Что такое
fail-fast и fail-safe итераторы?Ответ:
- Fail-fast: выбрасывает
ConcurrentModificationException, если коллекция была изменена во время итерации- Fail-safe: работает с копией коллекции, поэтому не выбрасывает исключений
👉 Java Portal