-
继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。
-
extends的意思是“扩展”。子类是父类的扩展
-
Java中类只有单继承,没有多继承
-
继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖,组合,聚合等。
-
继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends表示
-
子类和父类之间,从意义上来说应该具有“is a”的关系。
-
object类
-
super类
-
方法重写
修饰符
-
public 共有的
-
private 私有的
-
protected 受保护的
-
default 默认的
-
public>Protected>default>private
小知识
-
在Java中,所有的类,都默认直接或者间接继承Object
-
子类继承了父类,就会拥有父类中的方法
-
私有的,无法被继承
-
当子类new 生成一个对象时,子类的无参构造方法会先调用父类的无参构造(代码在子类的无参构造方法中被隐藏)
小结
super注意点
-
super调用父类的构造方法,必须在构造方法的第一个
-
super必须只能出现在子类的方法或者构造方法中
-
super和this不能同时调用构造方法
VS this
代表的对象不同:
-
this:本身调用者这个对象
-
super:代表父类对象的应用
前提:
-
this:没有继承也可以使用
-
super:只能在继承条件才可以使用
构造方法:
-
this();本类的构造
-
super();父类的构造
重写
-
重写都是方法的重写,与属性无关
-
静态的方法调用只和,定义的数据类型有关
-
注解:有功能的注释
-
override 重写
-
静态的方法和非静态的方法区别很大!
-
总结
重写:需要有继承关系,子类重写父类的方法
-
方法名必须相同
-
参数列表必须相同
-
修饰符:范围可以扩大,但不能缩小
-
抛出的异常:范围可以被缩小,不能被扩大
重写:子类的方法和父类必须一致,方法体不同!
为什么需要重写:
-
父类的功能子类不一定需要,或者不一定满足
-