super关键字是在继承关系中子类用来读取父类里的信息
【super】关键字的三种使用方法:
1、子类访问父类的成员变量
创建一个父类,并在里面写上一个成员变量
public class Fu {
int num = 10;
}
然后再创建一个子类
public class Zi extends Fu{
//1、子类访问父类的成员变量
public void methodFu(){
System.out.println(super.num);
}
}
创建一个类来进行演示输出
public class Demo01UseSuper {
//子类访问父类重名方法【重写Override】
public static void main(String[] args) {
//子类访问父类的成员变量num
zi.methodFu();
}
}
运行结果如图:
2、子类重写访问父类的成员方法
在父类里去添加一个方法
public class Fu {
int num = 10;
public void method(){
System.out.println("父类方法");
}
}
把刚才打的方法赋值到子类里面去,把输出内容改一下
public class Zi extends Fu{
//1、子类访问父类的成员变量
public void methodFu(){
System.out.println(super.num);
}
//2、子类访问父类的重名方法
@Override
public void method(){
super.method();
System.out.println("子类方法");
}
}
打印输出一下
public class Demo01UseSuper {
//子类访问父类重名方法【重写Override】
public static void main(String[] args) {
Zi zi = new Zi();
//子类访问父类的成员变量num
zi.methodFu();
System.out.println("============");
zi.method();
}
}
运行结果如图:
3、子类的构造方法访问父类的构造方法
public class Zi extends Fu{
//1、子类访问父类的成员变量
public void methodFu(){
System.out.println(super.num);
}
//2、子类访问父类的重名方法
@Override
public void method(){
super.method();
System.out.println("子类方法");
}
// 3、子类构造方法访问父类构造方法,里面的super若不写则会默认赠送过去
public Zi(){
super();
}
}