重写 Override 和重载

来源:互联网 发布:皮影客软件免费下载 编辑:程序博客网 时间:2024/06/05 22:43

一、为什么会有重载

当子类的行为和父类的行为不一样时  需要使用重写 重新定义子类的行为

二、如何重写

重写首先是建立在继承的基础上的  和父类的方法完全一样 子类要继承父类 叫做重写

三、重写规则:  一同一大两小

一同:  方法的签名相同

方法的签名 = 方法名 + 参数列表

 如何验证是否是正确的重写

使用注解  @Override 

如果是正确的重写  不报错   否则 编译报错 

编译的时候 编译器帮你验证

注解是有功能的,注释只是一个提示作用,没有其他功能

 一大:  子类方法的访问控制权限 比父类方法的访问控制权限要大(或相同)

private
default
protected
public

两小:

 1. 子类方法的返回值 是 父类方法返回值的子类(协变式返回值)

 2. 子类方法抛出的异常 比 父类方法抛出的异常 范围小

四、Overload 和Override的区别
一.Overload 重载
1.方法的名称相同,参数列表不同的方法之间叫做重载

参数列表不同体现在三个方面:

1. 个数不同

2. 类型不同

3. 顺序不同

 二. Override 重写

子类继承父类, 子类重写父类的方法, 只要符合重写规则就叫重写

重写规则如上

六.其它知识

1.同一个类中的方法之间可以相互重写吗??

 不可以. 重写要建立在继承的基础上,子类去重写父类的方法

 

 

原创粉丝点击