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 .