为什么要使用super关键字?
在子类继承父类中,父类的方法或者是成员变量可能被子类覆盖,但是又想使用父类的成员变量或者是方法,这是就要用到super关键字。
super的使用有以下3种情况:
1.用来访问父类被隐藏的成员变量,如super.variable;
2.用来调用父类中被覆盖的方法,如super.Method([参数]);
3.用来调用父类的构造方法,如super([参数]).
注:
1.子类不继承父类的构造方法,如果子类想使用父类的构造方法,子类必须在自己的构造方法中使用关键字super来表示父类的构造方法,而且super必须是子类构造方法的头一条语句;
super();
2.当子类不调用父类的带参数的构造方法时,编译器会在子类的构造方法中自动插入父类的无参构造方法,此时,如果父类没有显式地写出无参构造方法,将会导致编译报错。