Super чаще встречается в Android, и я не понимаю его без Java Foundation, поэтому у меня есть время, чтобы выучить его.
Использование супер в классах Java для ссылки на компоненты базового класса относительно прост, и пример заключается в следующем:
Класс отец -класс {public int value; public void f () {value = 100; System.out.println ("Отца class.value:"+value); }} класс ChildClass расширяет отца class {public int value; public void f () {super.f (); значение = 200; System.out.println ("ChildClass.value:"+value); System.out.println (значение); System.out.println (Super.value); }} public class test1 {public static void main (string [] args) {childclass cc = new Childclass (); cc.f (); }} Окончательный вывод:
Отец
Кроме того, Super также используется в конструкции наследования, конкретные правила следующие:
1. Стоимость строительства его базового класса должен быть вызван во время строительного процесса подкласса.
2. Подклассы могут использовать Super (Argiry_list), чтобы вызвать метод конструктора базового класса в своем собственном конструкторе.
3. Если конструктор подкласса не отображается в конструкторе базового класса, система по умолчанию на вызывает без параметра конструктора базового класса.
4. Если конструктор подкласса не показывает вызов конструктору базового класса, а базовый класс не имеет конструктора без параметров, возникает ошибка компиляции.
Примеры следующие: (лучше всего поэкспериментировать с ним сами здесь)
класс Superclass {private int n; Superclass () {System.out.println ("Call SuperClass ()"); } Superclass (int n) {System.out.println ("Call Superclass ("+n+")"); }} класс подкласс расширяет SuperClass {private int n; Subclass (int n) {// Когда метод строительства суперкласса не записан в методе построения подкласса, система по умолчанию по умолчанию вызовет родительский класс без параметров // она эквивалентна написанию следующего здесь: // super (); System.out.println ("Call Suberclass ("+n+")"); this.n = n; } Subclass () {super (300); // Конструктор родительского класса должен быть вызван во время процесса строительства подкласса, и супер должен быть записан в первом предложении (сначала есть отец, а затем Son) System.out.println ("call subclass ()"); }} public class test2 {public static void main (string [] args) {subclass sc1 = new subclass (); Подкласс SC2 = новый подкласс (400); }} Окончательный результат:
Вызовите Superclass (300) Call Subclass () Call SuperClass () SUPCLASS CALL (400)
Выше приведено в этой статье, я надеюсь, что это будет полезно для каждого обучения.