Один класс может быть потомком супер класса, т.е. он содержит свойства и методы супер класса. При создании класса потомка (подкласса) указывается служебное слово extends и название класса, который он наследует.
В классе потомке может быть переопределен метод родительского класса. Переопределенный метод должен иметь тот же тип, что и в родительском классе. Это же ограничение распространяется на параметры метода.
Перед переопределяемым методом стоит аннотация @Override. Она не обязательна, но желательно ее указывать, для читабельности кода.
Нельзя переопределить методы final, private, static.
Пример.
родительский класс:
public class Thought() {
public void message() {
System.out.println("Thought message");
}
}
подкласс:
public class Advice extendsThought() {
public void message() {
System.out.println("Advice message"); // добавленный код
super.message(); // вызов оригинального метода родительского класса. может отсутствовать
}
}
Если переменная родительского класса указана в параметрах какого-либо метода, то в качестве значений этих параметров может быть указано значение подкласса.
|