重载 与 重写 学习记录
发生的地方
重载发生在同一个类中; 重写是子类对父类方法的重写。
发生形式
重载 是方法名相同,参数列表不同(参数类型或参数顺序或参数个数不同),与返回值类型和访问权限无关; 重写 是方法名相同,参数列表相同。子类的返回值类型是父类的返回值类型的派生类,子类的异常范围不大于父类的异常范围,子类的访问权限大于等于父类的访问权限。
重写中 子类的访问权限为什么要大于等于父类的访问权限? 基类引用指向子类实例,如果子类重写的方法访问权限缩小,基类调用时,会报错。
多态形式
重载 是静态多态;(编译的时候,就确定调用哪个方法) 重写 是动态多态。(运行时,根据引用具体指向哪个类型的实例,确定调用哪个方法)
重载 与 重写 学习记录最先出现在Python成神之路。
共有 0 条评论