1.方法的重写
* 1)有超类型和子类型
*
* 2)方法的签名
* 超类型==子类型
* 3)返回值类型
* a)基本类型+void 超类型==子类型
* b)引用类型 超类型>=子类型
* 4)访问修饰符-》子类型比父类型更加开放
* 超类型<=子类型
* 注意点: 超类型不能是private
*
* 5)抛出异常类列表--》子类型不能比父类型惹更多的麻烦
* 超类型>=子类型
*
* >=: 指的不是异常类的个数
* --》是最大的异常类列表的关系
2.对比重载和重写:
重载:当前类新定义方法和当前类已有方法(功能类似(方法名相同)-形参不同),重载利于学习使用新方法。重写:当前类新定义方法和继承链已有方法(功能相同(方法名相同)-形参相同),重写,屏蔽不适用的继承方法,利于学习,为多态建立基础!
重写的作用: 子类继承父类已有的功能不满足子类要求,子类重写(重新编写对应的方法)代码完成相应的业务,
子类调用有重写的方法,会执行自己的而不是继承链的。
优点
1)可以屏蔽父类不满足要求的功能
2)便于学习
3.重写方法的语法-->针对成员方法
1)有超类型和子类型
2)方法的签名
子类型==超类型
3)返回值类型-》跟访问修饰符相反
a)void+基本类型 子类型==超类型
b)引用类型 子类型<=超类型
4)访问修饰符:子类型比超类型访问范围大,更开放。
子类型>=超类型
注意点:
1)超类型不能private--》privat子类型不能继承到该资源
2)语法复杂,建议用相等去重写方法
怎么检查子类型方法是否重写
在子类型方法上加@Override->检查
a)编译通过-》已经重写
b)编译不通过-》该方法没有重写