Какие элементы языка отвечают за наследование?
Этот вопрос рассматривает, как наследование реализуется в Java для повторного использования кода и организации иерархии классов.
Короткий ответ
За наследование в Java отвечают ключевые слова extends и implements. Класс-наследник может унаследовать поля и методы родительского класса, а интерфейсы позволяют реализовать множественное наследование.
Длинный ответ
Ключевые элементы наследования:
extends: Используется для создания подклассов. Подкласс наследует методы и поля суперкласса.
implements: Используется для реализации интерфейсов, обеспечивая множественное наследование.
Пример наследования через extends:
class Animal {
void eat() {
System.out.println("This animal eats food");
}
}
class Dog extends Animal {
void bark() {
System.out.println("Dog barks");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); // Унаследованное от Animal
dog.bark(); // Реализация Dog
}
}
Пример реализации через implements:
interface Flyable {
void fly();
}
class Bird implements Flyable {
public void fly() {
System.out.println("Bird flies");
}
}
Наследование упрощает создание новых классов, основываясь на уже существующих, снижает дублирование кода и помогает организовать классы в логическую иерархию.