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