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.

«