Q.为什么需要学习方法重写?
A:父类的功能实现无法满足子类的需求,需要重写
方法重写概述:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。子类中出现了和父类中一模一样的方法声明,也被称为方法从写。
重写的特点;
1、发生在具有子父类两个关系的类中;
2、方法名称相同;
3、参数的列表完全相同;
4、返回值类型可以相同或者是其子类;
5、访问权限修饰符不能够严于父类;
6、重写是多态的必要条件;
7、抛出的异常不能比父类的异常更大;
8、私有修饰的方法不能够被继承,就更不可能被重写;
9、构造方法不能被重写;
学习方法重载的目的:为了解决参数的个数、类型、顺序不一致,但功能一致、方法名一致的重名问题的情况。
方法重载:发生在同一个类中,方法名相同、参数的个数、顺序、类型不同构成重载;
特点:
1、发生同一个类中;
2、方法名称相同[参数列表不同];
3、参数的个数、顺序、类型不同可以构成重载;
4、方法重载和返回值类型以及访问权限修饰符、异常声明无关;
5、重载也是多态的一种表现形式
6、重载的精确性原则,就是给变量值的时候要按照变量的规则赋值
位置 | 方法命名 | 参数表 | 返回值 | 访问修饰符 | |
---|---|---|---|---|---|
方法重写 | 子类 | 相同 | 相同 | 相同或是子类 | 不能比父类更严格 |
方法重载 | 同类 | 相同 | 不相同 | 无 | 无 |