super关键字
- ⼀个引⽤变量,⽤于引⽤⽗类对象
- ⽗类和⼦类都具有相同的命名⽅法,要调⽤⽗类⽅法时使⽤
- ⽗类和⼦类都具有相同的命名属性,要调⽤⽗类中的属性时使⽤
- super也是⽗类的构造函数,格式 super(参数)
INFO
注意点 调⽤super() 必须是类构造函数中的第⼀条语句,否则编译不通过
注意
- 每个⼦类构造⽅法的第⼀条语句,都是隐含地调⽤super(),如果⽗类没有这种形式的构造函
数,那么在编译的时候就会报错
1 | public class Father { |
- this()和super()都指的是对象,均不可以在static环境中使⽤
包括:static变量,static⽅法,static语句块。
构造函数 super和this
- this 和super在构造函数中只能有⼀个,且都必须是构造函数当中的第⼀⾏
- 当⽗类的构造函数是⽆参构造函数时,在⼦类的构造函数中,不⽤显式super()去调⽤⽗类的构造函数.
- 当⽗类的构造函数是有参构造函数时,如果⼦类的构造函数中不写super()进⾏调⽤⽗类的构造函数,编译器会报错
java继承后类的初始化顺序
问题:静态代码块、⾮静态代码、⽗类/⼦类⽆参构造⽅法、⽗类/⼦类的⼀般⽅法
1 | public class Father { |
说些什么吧!