extends
Объявляет наследование: класс получает поля и методы родителя.
Доступно с: Java 1.0
Синтаксис
class Child extends Parent { … }Примеры
Наследник переопределяет метод родителя:
class Animal {
String sound() {
return "...";
}
}
class Cat extends Animal {
@Override
String sound() {
return "Meow";
}
}
void main() {
Animal a = new Cat();
IO.println(a.sound());
}Результат:
MeowПримечания
Класс наследуется только от одного класса; все классы неявно наследуются от Object. Интерфейс может расширять другие интерфейсы через extends, причём сразу несколько. В обобщениях extends задаёт ограничение типа: <T extends Comparable<T>>.
Аннотация @Override необязательна, но с ней компилятор проверит, что метод действительно переопределяет родительский.
См. также
- super — Обращается к родительскому классу: вызывает его конструктор или его версию метода.
- implements — Указывает интерфейсы, которые реализует класс.
- abstract — Помечает класс, объект которого создать нельзя, и метод без тела, который реализуют наследники.
- final — Запрещает менять переменную после присваивания, переопределять метод или наследовать класс.
В учебнике
- Наследование — Наследование классов в Java: extends, protected, вызов super(...), переопределение методов и аннотация @Override.