В Java наследование позволяет классам наследовать свойства и методы других классов. Класс, который наследует свойства и методы, называется подклассом или производным классом, а класс, от которого наследуются свойства и методы, называется суперклассом или базовым классом.
Для создания наследования в Java используется ключевое слово extends. Класс-подкласс указывает с помощью ключевого слова extends имя суперкласса, от которого он наследует свойства и методы.
Пример наследования в Java:
public class Person {
protected String name;
public Person(String name) {
this.name = name;
}
public void display() {
System.out.println("Имя: " + name);
}
}
public class Employee extends Person {
private String company;
public Employee(String name, String company) {
super(name);
this.company = company;
}
public void displayEmployee() {
System.out.println("Имя: " + name);
System.out.println("Компания: " + company);
}
}
В приведенном примере класс Employee наследует свойства и методы класса Person. Класс Employee имеет свои собственные свойства и методы, а также может использовать унаследованные свойства и методы класса Person.
Наследование в Java имеет следующие особенности:
- Одиночное наследование: В Java класс может наследовать только один суперкласс. Это означает, что множественное наследование классов не поддерживается.
- Иерархия наследования: Классы могут образовывать иерархию наследования, где один класс может быть суперклассом для нескольких подклассов, а подклассы могут иметь свои собственные подклассы.
- Переопределение методов: Подклассы могут переопределять методы суперкласса, чтобы предоставить свою собственную реализацию. Для этого используется аннотация @Override.
- Доступ к унаследованным членам: Подклассы имеют доступ к унаследованным членам (полям и методам) суперкласса, если они не являются приватными или имеют модификатор доступа private.
- Конструкторы: Подклассы могут вызывать конструкторы суперкласса с помощью ключевого слова super.
- Ключевое слово super: Ключевое слово super используется для обращения к членам суперкласса из подкласса.
Наследование в Java позволяет создавать иерархию классов, что способствует повторному использованию кода и упрощает его организацию. Оно является одним из основных принципов объектно-ориентированного программирования.
Если вам понравилось, буду признателен за подписку.