Встречается на собеседованиях • сегодня
Почему нельзя наследоваться от класса String
Класс String объявлен как final в Java, что запрещает его наследование. Это сделано по нескольким причинам:
- Безопасность и неизменяемость –
Stringиммутабелен, и наследование могло бы нарушить это свойство, позволив изменять состояние через подклассы. - Оптимизация – JVM использует кэширование строк (пул строк), и наследование усложнило бы эту оптимизацию.
- Консистентность – Методы
equals(),hashCode()иcompareTo()зависят от неизменяемостиString.
Пример попытки наследования вызовет ошибку компиляции:
java
// Ошибка: Cannot inherit from final 'java.lang.String'
class MyString extends String {} Альтернатива – композиция: обернуть String в свой класс.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы