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