Руководство по супер Java ключевое слово
1. Вступление
В этом кратком руководствеwe’ll take a look at the super Java keyword.
Проще говоря, мы можем использовать ключевое словоsuper для доступа к родительскому классу.
Давайте рассмотрим применения ключевого слова в языке.
2. Ключевое словоsuper с конструкторами
We can use super() to call the parent default constructor. Это должно быть первое утверждение в конструкторе.
В нашем примере мы используемsuper(message) w с аргументомString:
public class SuperSub extends SuperBase {
public SuperSub(String message) {
super(message);
}
}
Давайте создадим экземпляр дочернего класса и посмотрим, что происходит:
SuperSub child = new SuperSub("message from the child class");
Ключевое словоnew вызывает конструкторSuperSub, который сам сначала вызывает родительский конструктор и передает ему аргументString.
3. Доступ к переменным родительского класса
Давайте создадим родительский класс с переменной экземпляраmessage:
public class SuperBase {
String message = "super class";
}
Теперь мы создаем дочерний класс с переменной с тем же именем:
public class SuperSub extends SuperBase {
String message = "child class";
public void getParentMessage() {
System.out.println(super.message);
}
}
Мы можем получить доступ к родительской переменной из дочернего класса с помощью ключевого словаsuper.
4. Ключевое словоsuper с переопределением метода
Прежде чем двигаться дальше, мы рекомендуем ознакомиться с нашим руководством поmethod overriding.
Давайте добавим метод экземпляра в наш родительский класс:
public class SuperBase {
String message = "super class";
public void printMessage() {
System.out.println(message);
}
}
И переопределите методprintMessage() в нашем дочернем классе:
public class SuperSub extends SuperBase {
String message = "child class";
public SuperSub() {
super.printMessage();
printMessage();
}
public void printMessage() {
System.out.println(message);
}
}
We can use the super to access the overridden method from the child class. super.printMessage() в конструкторе вызывает родительский метод изSuperBase.
5. Заключение
В этой статье мы изучили ключевое словоsuper.
Как обычно, доступен полный кодover on Github.