super关键字与this类似,this表示当前类的对象,super用来表示父类。
super可以用在子类中,通过点号 . 来获取父类的成员变量和方法。super也可以用在子类的子类中,Java能自动向上层类追溯。
super关键字的应用范围:
只能用于子类的构造方法和实例方法中,不能用于子类的静态方法中。原因是super指代的是一个父类的对象,它需要在运行时被创建,而静态方法是类方法,是类的一部分,当类被加载时,方法已经存在,但是这个时候父类对象还没有被初始化。
super关键字的用法:
1、在子类中调用父类的属性或方法:
在子类中调用父类的属性或方法,特别是子类中有与父类相同的属性或方法,如果要调用父类中的属性或者方法,则必须使用super关键字,因为子类中和父类中的属性或方法同名,则父类中的方法或属性将被覆盖或隐藏。super可以指代父类中的类属性和类方法。
public class Parent {
public String name = "小头爸爸";
public boolean hasMoney = false;
public void sleeping() {
System.out.println("爸爸正在睡觉");
}
public void working() {
System.out.println("爸爸正在工作"