overload override
http://blog.csdn.net/cilimer/article/details/7260439
java中,函數重載(overload)和 函數重寫(override)是完全不同的兩個概念,而這沒有任何關系(除了名字有點像)
函數重載(overload):
1、針對同一個類中的一組函數來說的;
2、這組函數中,函數名稱相同(一般情況下建議功能相似的函數才做函數重載);
3、形式參數不相同,包括參數的個數不同、參數的類型不同或參數個數和類型都不相同;
4、與函數的返回值類型沒有關系
5、在調用函數時會根據參數的類型和個數自動去匹配,決定調用哪個函數。這種匹配是不精確的,會找最精確的,如果沒有最精確的,會找次精確的,以此類推,而且這種匹配不需要人為去調用。
函數重寫(override):函數重寫又稱為函數覆蓋、方法重寫、方法覆蓋,其主要特性如下:
1、分別為與兩個類中,這兩個類有子父類關系(或接口與實現類);
2、聲明的方法完全一樣(函數名稱、參數列表、返回值類型都完全一樣);
3、函數的訪問權限非private(子類的權限可以比父類的權限大或一樣大,不能比父類的權限小);
4、有動態(在運行時刻)綁定(binding)(又稱晚綁定)特性:父類的引用引用了子類的對象(或父接口引用了實現類的對象),這個引用去調用函數時,如果該函數構成了重寫,那么調用子類的函數,其他情況下只能調用父類的函數(前提是父類必須存在這個函數)。
總結
以上是生活随笔為你收集整理的overload override的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无向图的连通分量的数量
- 下一篇: 内存重叠