重载(overload):
what?
相同的函数名,不同的参数个数,参数类型
why need?
在类里面用统一的方式处理不同的数据类型(类内多态)
principle
可以理解为在Java的内部这个重载的函数有不同的名字
例题:
(1)为什么返回类型不能作为重载函数的区分标准?
函数名和参数都相同的时候,不知道该调用哪个函数。
重写(override):
> ```java
> what?
> 子类继承父类的时候,重写父类中的方法。
>
> 例题: (1)为什么子类函数的访问修饰权限不能小于父类?
> Father f = new Son();
> 假如父类中public方法在子类中被重写为private,
> 父类的对象就不能调用子类的方法,违背了Java的多态。
>
> (2)为什么子类中重写的方法抛出的异常应该为
> 父类中方法的子异常或相同异常,并且抛出的异常
> 种类不能多于父类中的方法?
> 子类对象可以调用父类中的方法,如果异常范围小了,则程序就会出错。
>
> (3)如何在子类中调用父类中被重写的方法?
> supper关键字
>
> **核心** (4)什么是动态绑定和静态绑定? ? ```