1. Введение
В этом кратком руководстве мы рассмотрим ключевое слово super Java.
Проще говоря, мы можем использовать ключевое слово super для доступа к родительскому классу.
Давайте рассмотрим применение ключевого слова core в языке.
2. Ключевое слово super с конструкторами
Мы можем использовать super() для вызова родительского конструктора по умолчанию. Это должен быть первый оператор в конструкторе.
В нашем примере мы используем super(message) с аргументом String:
Давайте создадим экземпляр дочернего класса и посмотрим, что происходит за ним:
public class SuperSub extends SuperBase {
public SuperSub(String message) {
super(message);
}
}
Ключевое слово new вызывает конструктор класса SuperSub, который сам сначала вызывает родительский конструктор и передает ему аргумент String.
SuperSub child = new SuperSub("message from the child class");
3. Доступ к переменным родительского класса
Создадим родительский класс с переменной экземпляра сообщения:
Теперь создадим дочерний класс с одноименной переменной:
public class SuperBase {
String message = "super class";
}
Мы можем получить доступ к родительской переменной из дочернего класса, используя ключевое слово super.
public class SuperSub extends SuperBase {
String message = "child class";
public void getParentMessage() {
System.out.println(super.message);
}
}
4. Ключевое слово super с переопределением метода
Прежде чем двигаться дальше, мы советуем просмотреть наше руководство по переопределению метода.
Давайте добавим метод экземпляра в наш родительский класс:
И переопределим метод printMessage() в нашем дочернем классе:
public class SuperBase {
String message = "super class";
public void printMessage() {
System.out.println(message);
}
}
Мы можем использовать super для доступа к переопределенному методу из дочернего класса. класс. super.printMessage() в конструкторе вызывает родительский метод из SuperBase.
public class SuperSub extends SuperBase {
String message = "child class";
public SuperSub() {
super.printMessage();
printMessage();
}
public void printMessage() {
System.out.println(message);
}
}
5. Заключение
В этой статье мы исследовали ключевое слово super.
Как обычно, полный код доступен на Github.
«