重载和重写的区别
重载和重写的区别
重载(OverLoad)和重写(OverRiding) 本质上都是多态特性的实现.
重载是类统一调用方式。多个同名函数同时存在,但是有不同类型的入参(必须)和出参.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void testOverLoad(){
System.out.println(testOL1()); // 1
System.out.println(testOL1(3));// 1.1
}
private Integer testOL1(){
return 1;
}
private Double testOL1(Integer a){
return 1.1;
}
重写(父子类之间的多态性)
- 对父类函数中的函数进行重新定义。
- 重写函数的入参(必须)和出参(必须)与父类函数一样.
- 子类重写函数权限不能少于父类的。