重载(overloading)
重载表现的是Java类内部的多态性。
重载的方法具有相同的名字,但是其参数个数或者类型不同(返回值不作为参考标准)。
方法名以及参数类型个数构成了方法的签名,但是返回类型不是签名的一部分。
重写(overriding)
重写表现的是基类与派生类之间的多态性。
重写是在派生类中定义的某个方法与其父类有相同的名称和参数。
注意:
- 重写方法的访问级别一定大于或等于被重写的方法(基类中方法为protected,派生类中方法只能是protected或者public);
- 重写的方法和被重写的方法方法名、参数和返回值类型一定相同;
- 被重写的方法不能是private,否则就不能称之为重写,而是无关系的新方法;
- 重写方法的抛出的异常一定不能多于被重写方法(即不能抛出新的异常);
- final方法不能被重写。