继承
继承的作用:
- 基本作用:子类继承父类,代码得到复用
- 主要作用:因为有了继承,才会有方法覆盖和多态机制。
- Java中的继承只支持单继承,不支持多继承,但可以产生间接继承
- Java规定,子类继承父类,除构造方法之外,剩下的都可以继承。但是私有的属性不能直接在子类中直接访问
方法重写(也叫方法覆盖)
- 条件1:两个类必须要有继承关系
- 条件2: 1. 重写之后的方法和之前的方法具有:
- 2.相同的返回值类型
- 3.相同的方法名
- 4.相同的形式参数列表
- 条件3:访问权限不能更低,只能更高
- 条件4:重写后的方法不能比之前的方法抛出更让多的异常,可以更少。
注意:1. 方法覆盖只是针对方法,和属性无关
2.私有方法不能覆盖
3.构造方法不能被继承,所以不能被覆盖
4.方法覆盖只是针对实例方法,静态方法覆盖没有意义。
什么时候考虑方法覆盖?
父类中的方法无法满足子类的业务需求,子类有必要对继承过来的方法进行覆盖。说白了就是继承过来的方法,改变其输出内容之类的。
关于object类中toString()方法覆盖?
toString()方法存在的作用就是:将Java对象转化成字符串的形式。
大多数Java类的toString()方法都是需要覆盖的,因为object类的toString()方法输出的是一个Java对象的内存地址。
方法覆盖和方法重载的区别
方法重载发生在一个类中。
方法覆盖发生在具有继承关系的父子类当中。
方法重载是一个类当中,方法名相同,参数列表不同。
方法覆盖是具有继承关系的父子类,也就是两个类。并且重写后的方法必须和之前的方法一致,返回值类型相同,方法名相同,参数列表相同。