java学习part11继承

1.类的继承

继承为了让类之间建立联系,同时复用代码。

子类和父类的同名函数构成重写,能覆盖,除非用super.xx()调。

同名属性不会覆盖,而是并存,用super.xx调。

java学习part11继承_第1张图片

java学习part11继承_第2张图片

java学习part11继承_第3张图片

2.子类初始化

 子类会自动调用父类无参构造super()

3.重写

重载是overload注意区别

java学习part11继承_第4张图片

java学习part11继承_第5张图片

 重写注解@Override

java学习part11继承_第6张图片

4.super

java学习part11继承_第7张图片

java学习part11继承_第8张图片

1)如果是this.xx()函数表示调用本类的xx函数。

但是如果有多层继承关系,子类会自动继承父类的函数,所以如果子类没有重写,会不断往上找父类的xx函数

2)如果是super.xx()函数表示调用父类的xx函数。

如果父类没有重写,再继续往上找

java学习part11继承_第9张图片

java学习part11继承_第10张图片

子类构造一定会直接或者间接调用父类构造,n个子类构造器不可能调用this子类构造,至少一个使用super,否则this调用关系成环了

 

你可能感兴趣的:(java,学习)