Подтвердить что ты не робот

Значение супер ключевого слова

Какое значение и использование ключевого слова super в Java?

4b9b3361

Ответ 1

super - это ключевое слово в Java. Это относится к собственности непосредственных родителей.

super()            //refers parent constructor
super.getMusic();  //refers to the parent method

- Подробнее о super

Ответ 2

Ключевое слово super относится к экземпляру родительского класса (Object, неявно) текущего объекта. Это полезно, если вы переопределяете метод в подклассе, но все же хотите вызвать метод, определенный в родительском классе. Например:

class ClassOne { 
     public say() { 
      System.out.println("Here goes:");
  }
}

class ClassTwo extends ClassOne { 
          public say() {
            super.say();
            System.out.println("Hello"); 
   } 
 }

Теперь new ClassTwo().say() выведет:

Here goes:
Hello

Как уже упоминалось, super() будет вызывать родительский конструктор, и его можно вызывать только из конструктора подкласса (кто-то исправит меня, если я ошибаюсь).

Ответ 3

При наследовании от другого класса вы можете переопределить метод из класса, наследуемого от.

При этом вам иногда нужно сначала вызвать переопределенный метод, а затем выполнить что-то после. В этом случае вы пишете super();

Вот несколько ссылок на наследование, это очень важно в программировании: Наследование вики

Краткое объяснение от Oracle

Ответ 4

Ключевое слово super не относится к Android. Это концепция, принадлежащая ООП, и представляет собой родительский класс класса, в котором вы его используете. В Android это в основном полезно, когда вы создаете свой собственный Activity или компонент и можете вызывать поведение по умолчанию перед тем, как реализовать свои.

Например, супер-методы нужно вызывать перед чем-либо, когда вы переопределяете действия Activity onPause, Resume, onStop и т.д.

Для получения дополнительной информации я предлагаю вам ознакомиться с книгами по объектно-ориентированному программированию, а также с книгами Java Programmation, которые должны более глубоко освещать тему.

Ответ 5

  • Просто сказать, что имя означает, что "супер" указывает на суперкласс, т.е. непосредственный родительский класс.

  • Он предназначен для получения непосредственного экземпляра суперкласса либо он может быть методом, либо переменными.

  • Как я указал super, можно использовать для извлечения экземпляра ближайшего родительского класса в случае многоуровневого наследования, это не сработает, если вы пытаетесь получить экземпляр экстремального родительского класса.

  • вам нужен супер, только если родительский и дочерний классы имеют методы с тем же именем и тип

  • Вы можете знать, что конструктор будет создан автоматически, созданным компилятором, когда класс объявлен таким же образом, как супер() будет создан компилятором внутри конструктора в качестве первого утверждения......

Надеюсь, это помогло вам... иметь хороший день (S)