Может ли наследник отказавшийся от наследства через несколько лет передумать,
Правило 1. Наследуем только один класс.
Java не поддерживает наследование нескольких классов. Один класс – один родитель.
Обратите внимание – нельзя наследовать самого себя!
Правило 2. Наследуется все кроме приватных переменных и методов.
Выше мы говорили, что класс-наследник будет иметь доступ ко всем переменным и методам родителя. Это не совсем так.
На самом деле, все методы и переменные, помеченные модификатором private , не доступны классу-наследнику.
Правило 3. Переделать метод класса-родителя.
Представим, что мы наследуем класс, но нам нравится не все, что мы унаследовали. Допустим мы хотим, чтобы определенный— метод работал не так, как в родителе.
Для того, чтобы переопределить метод класса-родителя, пишем над ним @Override :
Правило 4. Вызываем методы родителя через ключевое слово super.
Представим, что Вы хотите изменить метод родительского класса совсем чуть-чуть – буквально дописать пару строк. Тогда в своем методе мы можем вызвать родительский метод с помощью ключевого слова super .
Например, у нас есть класс Dog с методом voice() :
Кроме того, у нас есть класс Dobermann , который наследует класс Dog и имеет свой метод voice() . В нем мы вызываем родительский метод через ключевое слово super :
Теперь, вызовем метод voice() из класса Dobermann :
В консоли мы увидим следующее:
Таким образом, видим, что voice() сначала вызвал метод из родительского класса, а потом вывел в консоль строку “Hello World from Dobermann class!” .
Правило 5. Запрещаем наследование.
Если Вы не хотите, чтобы кто-то наследовал Ваш класс, поставьте перед ним модификатор final . Например:
Теперь попробуем создать наследника:
Получим ошибку:
Надеемся, что наша статья была Вам полезна. Есть возможность записаться на наши курсы по Java. Детальнее у нас на сайте.