![]() |
Java关键字super(计算机函数) - 百度百科
x属性的话,在子类中调用父类的x属性时应用 super.x = 6,表示该x是引用的父类的属性,而要表示子类中的x属性的话,使用this.x.Java里在子类中用super调用父类构造函数时,调用函数必须放在子类的第一条语句的位置,如果想用super继承父类构造函数时,调用内函数必须放在子类的第...
在Java中,`super`关键字有几个主要用途,它们都与继承有关。下面我将详细解释`super`在Java中的意义和作用: 1. 调用父类的构造方法: 当子类需要调用父类的构造方法来初始化父类部分的属性时,可以使用`super()`。这是`super`在Java中最常见的用法之一。需要注意的是,`super()`调用必须出现在子类构造方法的第一行。 ```java class Parent { Parent() { System.out.println("Parent constructor called"); } } class Child extends Parent { Child() { super(); // 调用父类的构造方法 System.out.println("Child constructor called"); } } ``` 2. 访问父类的成员(属性和方法): 如果子类中的成员(属性或方法)与父类中的成员名称相同,那么子类中的成员会隐藏父类中的成员。在这种情况下,可以使用`super`关键字来访问父类中被隐藏的成员。 ```java class Parent { int value = 10; void display() { System.out.println("Parent display: " + value); } } class Child extends Parent { int value = 20; void display() { System.out.println("Child display: " + value); System.out.println("Accessing parent's value: " + super.value); super.display(); // 调用父类的display方法 } } public class Main { public static void main(String[] args) { Child child = new Child(); child.display(); } } ``` 3. 在方法重写(Override)中使用: 当子类重写父类的方法时,有时需要在子类的重写方法内部调用父类的原始方法。这时,可以使用`super`关键字来实现。 ```java class Parent { void show() { System.out.println("Parent show method"); } } class Child extends Parent { @Override void show() { super.show(); // 调用父类的show方