国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

深入理解java中的重載和覆蓋

2019-11-26 14:08:55
字體:
供稿:網(wǎng)友

說到java中的重載和覆蓋呢,大家都很熟悉了吧,但是呢我今天就要寫這個。

本文主題:

一.什么是重載

二.什么是覆蓋

三.兩者之間的區(qū)別

重載(overload):

在一個類中,如果出現(xiàn)了兩個或者兩個以上的同名函數(shù),只要它們的參數(shù)的個數(shù),或者參數(shù)的類型不同,即可稱之為該函數(shù)重載了。

即當函數(shù)同名時,只看參數(shù)列表。和返回值類型沒關系。

重載使用的時候需要注意:

1、在使用重載時只能通過不同的參數(shù)樣式。例如,不同的參數(shù)類型,不同的參數(shù)個數(shù),不同的參數(shù)順序。

2、方法的異常類型和數(shù)目不會對重載造成影響。

3、對于父類來說,子類可以重載與繼承父類中的方法同名的方法,如果某一方法在父類中是訪問權(quán)限是priavte,那么就不能在子類對其進行重載,如果定義的話,也只是定義了一個新方法,而不會達到重載的效果。

覆蓋(override):

當子父類中出現(xiàn)了一模一樣的方法時,建立子類對象會運行子類中的方法。好像父類中的方法被覆蓋掉一樣。所以這種情況,是函數(shù)的另一個特性:覆蓋。

什么時候使用覆蓋呢?

當子類繼承父類時,父類的功能內(nèi)容需要修改時,可以通過覆蓋來實現(xiàn)

在方法覆蓋時,注意兩點:

1、子類覆蓋父類時,必須要保證,子類方法的權(quán)限必須大于等于父類方法權(quán)限可以實現(xiàn)繼承。否則,編譯失敗。

2、覆蓋時,要么都靜態(tài),要么都不靜態(tài)。 (靜態(tài)只能覆蓋靜態(tài),或者被靜態(tài)覆蓋)YES

3、被final修飾的方法是一個最終方法,不可以被覆蓋。

4、子類覆蓋父類的方法時,只能比父類拋出更少的異常,或者是拋出父類拋出的異常的子異常,因為子類可以解決父類的一些問題,不能比父類有更多的問題。

重載和覆蓋的區(qū)別:

1、方法的覆蓋是子類和父類之間的關系,是垂直關系;方法的重載是同一個類中方法之間的關系,是水平關系。

2、覆蓋只能由一個方法,或只能由一對方法產(chǎn)生關系;方法的重載是多個方法之間的關系。

3、覆蓋要求參數(shù)列表相同;重載要求參數(shù)列表不同。

4、覆蓋關系中,調(diào)用那個方法體,是根據(jù)對象的類型來決定;重載關系,是根據(jù)調(diào)用時的實參表與形參表來選擇方法體的。

以上就是小編為大家?guī)淼纳钊肜斫鈐ava中的重載和覆蓋全部內(nèi)容了,希望大家多多支持武林網(wǎng)~

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 揭阳市| 长泰县| 济阳县| 图木舒克市| 封开县| 广丰县| 平阳县| 云安县| 从江县| 拜泉县| 宁晋县| 武鸣县| 上犹县| 禄劝| 松潘县| 商都县| 鄱阳县| 宜阳县| 宜宾县| 南雄市| 韶关市| 栾城县| 越西县| 遂昌县| 蒲城县| 呼图壁县| 曲靖市| 徐闻县| 永靖县| 上高县| 东方市| 搜索| 蓬莱市| 黄骅市| 嘉黎县| 龙江县| 泰州市| 晋州市| 耿马| 曲沃县| 咸阳市|