Какое значение и использование ключевого слова super
в Java?
Значение супер ключевого слова
Ответ 1
super
- это ключевое слово в Java. Это относится к собственности непосредственных родителей.
super() //refers parent constructor
super.getMusic(); //refers to the parent method
Ответ 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();
Вот несколько ссылок на наследование, это очень важно в программировании: Наследование вики
Ответ 4
Ключевое слово super не относится к Android. Это концепция, принадлежащая ООП, и представляет собой родительский класс класса, в котором вы его используете. В Android это в основном полезно, когда вы создаете свой собственный Activity или компонент и можете вызывать поведение по умолчанию перед тем, как реализовать свои.
Например, супер-методы нужно вызывать перед чем-либо, когда вы переопределяете действия Activity onPause, Resume, onStop и т.д.
Для получения дополнительной информации я предлагаю вам ознакомиться с книгами по объектно-ориентированному программированию, а также с книгами Java Programmation, которые должны более глубоко освещать тему.
Ответ 5
-
Просто сказать, что имя означает, что "супер" указывает на суперкласс, т.е. непосредственный родительский класс.
-
Он предназначен для получения непосредственного экземпляра суперкласса либо он может быть методом, либо переменными.
-
Как я указал super, можно использовать для извлечения экземпляра ближайшего родительского класса в случае многоуровневого наследования, это не сработает, если вы пытаетесь получить экземпляр экстремального родительского класса.
-
вам нужен супер, только если родительский и дочерний классы имеют методы с тем же именем и тип
-
Вы можете знать, что конструктор будет создан автоматически, созданным компилятором, когда класс объявлен таким же образом, как супер() будет создан компилятором внутри конструктора в качестве первого утверждения......
Надеюсь, это помогло вам... иметь хороший день (S)