Рубрики
Без рубрики

Руководство по супер Java ключевое слово

Узнайте, как использовать супер ключевое слово Java для ссылки на родительский класс.

Автор оригинала: baeldung.

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 .