方法重写(Override)和方法重载(Overload)都是面向对象编程中,多态特性的不同体现,但二者本身并无关联,它们的区别犹如马德华之于刘德华的区别,除了名字长得像之外,其他的都不像。
接下来咱们就来扒一下二者的具体区别。
1.方法重写
方法重写(Override)是一种语言特性,它是多态的具体表现,它允许子类重新定义父类中已有的方法,且子类中的方法名和参数类型及个数都必须与父类保持一致,这就是方法重写。
1.1 基本用法
方法重写的基本用法如下:
/**
* 父类中有一个 method 方法
*/
class Father {
public void method(String name) {
System.out.println("Father:" + name);
}
}
/**
* 子类中重写了父类的 method 方法
*/
class Son extends Father {
@Override
public void method(String name) {