Java Super - сайт о Java программировании
Одним из ключевых слов в Java является "super". Оно используется для вызова конструктора или метода родительского класса в подклассе. В этом ответе я рассмотрю различные сценарии применения "super" в Java и предоставлю примеры кода для более наглядного понимания.
Когда вы создаете подкласс, он наследует все поля и методы родительского класса. Иногда вам может потребоваться изменить или расширить стандартное поведение родительского класса. В таких случаях вы можете использовать ключевое слово "super" для обращения к методам и полям родительского класса.
Пример 1: Вызов конструктора родительского класса
class Parent {
int number;
Parent(int number) {
this.number = number;
}
}
class Child extends Parent {
int anotherNumber;
Child(int number, int anotherNumber) {
super(number); // вызываем конструктор родительского класса
this.anotherNumber = anotherNumber;
}
}
В приведенном выше примере мы имеем два класса: класс "Parent" и класс "Child", который является подклассом класса "Parent". Конструктор класса "Child" вызывает конструктор класса "Parent" с помощью ключевого слова "super", передавая ему необходимые аргументы.
Пример 2: Переопределение методов родительского класса
class Parent {
void print() {
System.out.println("Родительский класс");
}
}
class Child extends Parent {
@Override
void print() {
super.print(); // вызываем метод родительского класса
System.out.println("Подкласс");
}
}
В данном примере у родительского класса "Parent" есть метод "print()", который выводит текст "Родительский класс". В классе "Child" мы переопределяем этот метод с помощью аннотации "@Override". В переопределенном методе мы вызываем метод родительского класса с помощью ключевого слова "super", а затем добавляем свой дополнительный текст.
Пример 3: Обращение к полю родительского класса
class Parent {
int number = 10;
}
class Child extends Parent {
void printNumber() {
System.out.println(super.number); // обращение к полю родительского класса
}
}
В этом примере у родительского класса "Parent" есть поле "number" со значением 10. В классе "Child" мы используем ключевое слово "super" для обращения к этому полю. В результате выведется число 10.
Таким образом, ключевое слово "super" позволяет вам управлять и расширять возможности родительского класса в подклассе. Оно используется для вызова конструкторов, методов и полей родительского класса. Надеюсь, приведенные примеры помогут вам лучше понять применение "super" в языке Java.