Java 关键字super详解及用法
在 Java 编程中,我们经常会遇到需要在派生类中调用父类的方法或访问父类的属性的情况。这时就需要用到 Java 关键字 super
。本文将详细讲解 Java 关键字 super
的用法及示例说明。
1. super 的作用
- 访问父类的属性
- 调用父类的方法
- 调用父类的构造方法
2. super 访问父类的属性
使用 super
关键字可以访问父类中的属性。
以下是示例代码:
class Parent {
String name = "Parent";
}
class Child extends Parent {
String name = "Child";
void printNames() {
System.out.println("Child name = " + name);
System.out.println("Parent name = " + super.name);
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
child.printNames();
}
}
运行结果:
Child name = Child
Parent name = Parent
分析:在 Child
类中,我们定义了一个名为 name
的属性,与父类 Parent
中的属性同名。若在 Child
类中直接使用 name
,则会访问到子类中的属性;若要访问父类中同名的属性,使用 super.name
即可。
3. super 调用父类的方法
使用 super
关键字可以调用父类中的方法。
以下是示例代码:
class Parent {
void show() {
System.out.println("This is Parent");
}
}
class Child extends Parent {
@Override // 覆写父类方法
void show() {
super.show(); // 调用父类方法
System.out.println("This is Child");
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
child.show();
}
}
运行结果:
This is Parent
This is Child
分析:在 Child
类中,我们覆写了父类 Parent
中的 show()
方法,并在子类方法中调用了 super.show()
,即调用了父类中的 show()
方法,并在子类方法中添加了新的内容。
4. super 调用父类的构造方法
使用 super
关键字可以调用父类的构造方法。
以下是示例代码:
class Parent {
String name;
Parent() {
name = "Parent";
}
}
class Child extends Parent {
Child() {
super(); // 调用父类无参构造方法
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
System.out.println(child.name);
}
}
运行结果:
Parent
分析:在 Child
类中,我们定义了一个无参构造方法,并在其中使用 super()
调用了父类的无参构造方法,即 Parent
的构造方法。这样可以确保子类对象在实例化时先初始化父类部分的属性。
5. 总结
super
关键字在 Java 编程中具有重要作用,可以实现对父类属性、方法和构造方法的访问或调用。熟练掌握 super
关键字的用法,有助于程序的编写。
以上是 Java 关键字 super
的详细讲解及示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java 关键字super详解及用法 - Python技术站