网站设计哪里公司好,网上商城运营推广思路,国内知名的网站建设公司,网站图片被盗连怎么办啊super在父类、子类相关联的操作中经常被用到 super 是Java中的关键字#xff0c;用于引用父类#xff08;超类#xff09;的成员变量、方法或构造函数。它有以下主要用途#xff1a; 访问父类中的成员变量调用父类中的构造方法调用父类中的方法 在没有继承和被继承关系的类…super在父类、子类相关联的操作中经常被用到 super 是Java中的关键字用于引用父类超类的成员变量、方法或构造函数。它有以下主要用途 访问父类中的成员变量调用父类中的构造方法调用父类中的方法 在没有继承和被继承关系的类中几乎不被使用
我个人喜欢将super理解为 “父类的” “引用父类的”
1、访问父类的成员变量
使用 super 关键字可以在子类中访问父类中的成员变量。这对于在子类中有相同名字的成员变量时很有用以便明确指定你想要访问的是父类的成员变量。
package com.sky.test;class Parent {int x 10;
}class Child extends Parent {int x 20;void display() {System.out.println(super.x); // 访问父类的x变量 10 System.out.println(this.x); // 访问子类的x变量 20}
}public class Main {public static void main(String[] args) {Child child new Child();child.display();}
}class Animal {String name Animal; // 父类的成员变量void printName() {System.out.println(name); // 打印父类的成员变量}
}class Dog extends Animal {String name Dog; // 子类的成员变量void displayNames() {System.out.println(name); // 打印子类的成员变量System.out.println(super.name); // 打印父类的成员变量}
}public class Main {public static void main(String[] args) {Dog myDog new Dog();myDog.printName(); // 输出Animal调用父类方法myDog.displayNames(); // 输出Dog子类成员变量Animal父类成员变量}
} 2、调用父类中的构造方法
在子类的构造函数中使用 super 关键字可以调用父类的构造函数。这通常用于初始化父类的成员变量或执行父类构造函数的逻辑。 经常用在下面这种情况类中有些变量是子类继承父类的 利用super可调用父类的构造方法将其赋值 class Parent {int x;Parent(int x) {this.x x;}
}class Child extends Parent {int y;Child(int x, int y) {super(x); // 调用父类构造函数 将x赋值this.y y;}// Override 不理解也没事不带上这个注解一样能正常运行Override // java中的注解 此处的意思是表明此方法是重写过的方法public String toString() { // 返回带上child的成员变量值的字符串 x和yreturn Child{ y y , x x };}
}public class Main {public static void main(String[] args) {Child child new Child(10, 20);System.out.println(child.toString());}
}3、调用父类中的方法
使用 super 关键字可以在子类中显式调用父类的方法。这在子类重写父类的方法时特别有用以便在子类中可以调用父类的版本。
class Parent {void print() {System.out.println(Parents print method);}
}class Child extends Parent {Overridevoid print() {super.print(); // 调用父类的print方法System.out.println(Childs print method);}
}public class Main {public static void main(String[] args) {Child child new Child();child.print();}
}