Java基础—继承
Posted ? Jackson
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础—继承相关的知识,希望对你有一定的参考价值。
Java继承
-
继承是使子类拥有父类的方法和属性,这样能够减少代码冗余(重复)
-
语法:访问修饰符 class 子类名 extends 父类名{}
-
extends的意思是“扩展”。子类是父类的扩展。
-
Java中只有单继承,没有多继承(即一个子类只能继承一个父类,但一个父类可以有多个“儿子”)
-
继承是类和类之间的一种关系,除此之外类与类之间的关系还有依赖、组合、聚合等。
-
所有的类都直接或间接的继承object类(他是所有类的祖先)
注意点:
- 子类和父类之间,从严格意义上讲应该具有“ is a ”的关系(如苹果树是农作物)
- 子类不能继承父类的私有方法和属性(private修饰的方法和属性)
- 继承后子类拥有父类的所有方法和属性(除b条件外)
Super关键字
作用
1.访问父类的方法和属性。
2.用于区分子类和父类的方法重名。
注意点
1.super调用父类构造方法,必须在构造方法的第一个
2.super只出现在子类的方法或构造方法中
3.super和this不能同时调用构造方法
与this做比较:
代表的对象不同:
this:本类调用的这个对象(当父子有同名的属性或方法时,优先子类,就近原则)
super:代表父类对象的应用
前提
this:没有继承也能使用
super:只有在继承条件才可以使用
方法须知:
方法的重写
如果从父类继承的方法不能满足子类的需求,则可以在子类对父类的同名方法进行重写(覆盖)。
注意点:
-
必须要有继承关系才能重写父类的方法
-
必须要是非静态的方法才能重写
-
private修饰的方法不能重写
-
重写方法与被重写方法的方法名必须相同
-
重写方法与被重写方法的参数类表必须相同
-
重写方法的返回值类型必须和被重写方法的返回值类型相同或是其子类(如double 可变为 float)
-
重写方法的修饰词范围可以扩大但不能缩小 (public>protected>Default(
默认)>private)
扩展:
抛出的异常:范围可以被缩小,但不能被扩大: (如:ClassNotFoundException<Exception(所有异常的爹))
以上是关于Java基础—继承的主要内容,如果未能解决你的问题,请参考以下文章