重写 和 重载的区别
重写 重载都是指方法
重载 :
- 同一个类,有多个方法
- 方法名相同
- 参数列表不同
重载:
- 不同的类
- 继承关系
- 方法签名相同
子父类中有方法的重写,在调用的时候,一般调用子类重写的方法,把父类的方法屏蔽
如果检查一个方法是否为重写方法
- 在这个重写方法中添加一个注解 @cverride
- 左侧会出现向上的三角形
注意:
- == 方法签名完全相同
- <= 返回值类型:基本数据类型必须相同,引用数据类型:子类重写方法的返回值类型<=父类中方法返回值类型
->= 权限修饰符:子类重写方法的权限修饰符>=父类重写方法的权限修饰符
注意:
- 被private修饰的方法不能重写
- static修饰的方法不能重写 (如果父类中有个同名的静态方法,子类要定义这个名字的方法,必须也要被static修饰)
- 被final修饰的方法不能重写
什么时候定义方法的重写:
当子类要继承父类中某一个功能,但是对父类直接继承过来的功能体实现不满意,可以对父类中的方法进行重写,自定义方法体