super关键字的含义与作用
问题描述:super关键字的含义与作用
推荐答案 本回答由问问达人推荐
super是一个Java关键字,它可以通过以下方式使用:
1. 访问父类的成员变量:super.variable
2. 调用父类的构造方法:super()
3. 调用父类的方法:super.method()
super关键字的含义如下:
1. 访问父类的成员变量:当子类中定义有与父类同名的成员变量,如果想要访问父类的成员变量,就可以使用super关键字,来区分子类成员变量和父类成员变量。
class Parent {
int num = 10;
}
class Child extends Parent {
int num = 20;
public void print() {
System.out.println("Child num = " + num);
System.out.println("Parent num = " + super.num); // 访问父类成员变量
}
}
public class Test {
public static void main(String[] args) {
Child c = new Child();
c.print();
}
}
输出结果:
Child num = 20
Parent num = 10
2. 调用父类的构造方法:当父类中有有参构造方法时,在子类的构造方法中可以使用super关键字来调用父类的构造方法,以便初始化父类的成员变量。
class Parent {
int num;
public Parent(int num) {
this.num = num;
}
}
class Child extends Parent {
int age;
public Child(int num, int age) {
super(num); // 调用父类有参构造方法
this.age=age;
}
}
public class Test {
public static void main(String[] args) {
Child c = new Child(10, 20);
}
}
3. 调用父类的方法:当子类中定义的方法和父类中的方法同名时,可以使用super关键字来调用父类的方法,以便在子类中扩展和修改父类的方法。
示例:
class Parent {
public void print() {
System.out.println("Parent");
}
}
class Child extends Parent {
public void print() {
super.print(); // 调用父类的print方法
System.out.println("Child");
}
}
public class Test {
public static void main(String[] args) {
Child c = new Child();
c.print();
}
}
输出结果:
Parent
Child
综上所述,super关键字的作用是在子类中访问父类的成员变量、方法和构造方法。它是Java面向对象编程中重要的关键字之一。
查看其它两个剩余回答