Super est plus courant dans Android, et je ne le comprends pas sans la Fondation Java, j'ai donc le temps de l'apprendre.
L'utilisation de classes Super in Java pour référencer les composants de la classe de base est relativement simple, et l'exemple est le suivant:
classe FATRYCLASS {public int Value; public void f () {value = 100; System.out.println ("FatherClass.Value:" + Value); }} classe La classe d'enfants étend sa base de base {public int Value; public void f () {super.f (); valeur = 200; System.out.println ("Childclass.Value:" + Value); System.out.println (valeur); System.out.println (super.value); }} classe publique Test1 {public static void main (String [] args) {Childclass cc = new Childclass (); cc.f (); }} La sortie finale est:
FatherClass.Value: 100ChildClass.Value: 200200100
De plus, Super est également utilisé dans la construction de succession, les règles spécifiques sont les suivantes:
1. La méthode de construction de sa classe de base doit être appelée pendant le processus de construction d'une sous-classe.
2. Les sous-classes peuvent utiliser super (argument_list) pour appeler la méthode du constructeur de la classe de base dans leur propre constructeur.
3. Si le constructeur de la sous-classe n'est pas affiché dans le constructeur de la classe de base, le système appelle le constructeur sans paramètre de la classe de base par défaut.
4. Si le constructeur de sous-classe ne montre pas l'appel au constructeur de classe de base et que la classe de base n'a pas de constructeur sans paramètres, une erreur de compilation se produit.
Les exemples sont les suivants: (il est préférable de l'expérimenter vous-même ici)
classe Superclass {private int n; SuperClass () {System.out.println ("Call SuperClass ()"); } Superclass (int n) {System.out.println ("appel superclass (" + n + ")"); }} La sous-classe de classe étend Superclass {private int n; Sous-classe (int n) {// Lorsque la méthode de construction de superclasse n'est pas écrite dans la méthode de construction de sous-classe, le système appelle par défaut la classe parent sans paramètres // il équivaut à écrire ce qui suit: // super (); System.out.println ("Appeler SuberClass (" + N + ")"); this.n = n; } Sous-classe () {super (300); // Le constructeur de la classe parent doit être appelé pendant le processus de construction de la sous-classe, et Super doit être écrit dans la première phrase (il y a un père d'abord puis le fils) System.out.println ("Call Subclass ()"); }} classe publique Test2 {public static void main (String [] args) {subclass sc1 = new Subclass (); Sous-classe SC2 = nouvelle sous-classe (400); }} Le résultat final est:
Appel SuperClass (300) Call SubSlass () Appelez SuperClass () Call Sous-Class (400)
Ce qui précède concerne cet article, j'espère qu'il sera utile à l'apprentissage de tout le monde.