版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012832088/article/details/81584987
Java学习(三)继承
语法:使用extends实现继承
单一继承,只能有一个父类
- 父类的构造不允许被继承、不允许被重写,但是会影响子类对象的实例化过程
- 子类构造默认调用父类无参构造方法(无参构造很重要),可以通过super()调用父类允许被访问的其他构造方法。super()必须放在子类构造方法有效代码的第一行 -
继承后的初始化顺序
- 父类的静态代码块——》子类的静态代码块——》父类的构造代码块——》父类的无参构造方法——》子类的构造代码块——》子类的无参构造方法
- 父类静态成员——》子类静态成员——》父类对象构造——》子类对象构造
- 访问修饰符不影响成员加载顺序,跟书写位置有关
this 与 super
构造方法调用时,super和this不能同时出现
super:子类的构造方法中必须调用其父类的构造方法,默认调用无参的构造方法;如果子类构造方法中既没有显示标注,而父类又没有无参的构造方法,则编译出错;使用super调用父类指定构造方法,必须在子类的构造方法中第一行
- this:当前类对象的引用
- 访问当前类的成员方法
- 访问当前类的成员属性
- 访问当前类的构造方法
- 不能在静态方法中使用 -
- super:父类对象的引用
- 访问父类的成员方法
- 访问父类的成员属性
- 访问父类的构造方法
- 不能在静态方法中使用