黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java重載與包視頻,實(shí)例深入解析

Java重載與包視頻,實(shí)例深入解析

更新時(shí)間:2020-12-08 15:34:12 來源:動力節(jié)點(diǎn) 瀏覽2081次

java重載與包視頻

重載(Overloading)和重寫(Overriding)是Java中兩個(gè)比較重要的概念。但是對于新手來說也比較容易混淆。本文通過兩個(gè)簡單的例子說明了他們之間的區(qū)別。

定義

重載

簡單說,就是函數(shù)或者方法有同樣的名稱,但是參數(shù)列表不相同的情形,這樣的同名不同參數(shù)的函數(shù)或者方法之間,互相稱之為重載函數(shù)或者方法。

重寫

重寫指的是在Java的子類與父類中有兩個(gè)名稱、參數(shù)列表都相同的方法的情況。由于他們具有相同的方法簽名,所以子類中的新方法將覆蓋父類中原有的方法。

重載VS重寫

關(guān)于重載和重寫,你應(yīng)該知道以下幾點(diǎn):

1、重載是一個(gè)編譯期概念、重寫是一個(gè)運(yùn)行期間概念。

2、重載遵循所謂“編譯期綁定”,即在編譯時(shí)根據(jù)參數(shù)變量的類型判斷應(yīng)該調(diào)用哪個(gè)方法。

3、重寫遵循所謂“運(yùn)行期綁定”,即在運(yùn)行的時(shí)候,根據(jù)引用變量所指向的實(shí)際對象的類型來調(diào)用方法

4、因?yàn)樵诰幾g期已經(jīng)確定調(diào)用哪個(gè)方法,所以重載并不是多態(tài)。而重寫是多態(tài)。重載只是一種語言特性,是一種語法規(guī)則,與多態(tài)無關(guān),與面向?qū)ο笠矡o關(guān)。(注:嚴(yán)格來說,重載是編譯時(shí)多態(tài),即靜態(tài)多態(tài)。但是,Java中提到的多態(tài),在不特別說明的情況下都指動態(tài)多態(tài))

重寫的例子

下面是一個(gè)重寫的例子,看完代碼之后不妨猜測一下輸出結(jié)果:

class?Dog{
??public?void?bark(){
????System.out.println("woof?");
??}
}
class?Hound?extends?Dog{
??public?void?sniff(){
????System.out.println("sniff?");
??}

??public?void?bark(){
????System.out.println("bowl");
??}
}

public?class?OverridingTest{
??public?static?void?main(String?[]?args){
????Dog?dog?=?new?Hound();
????dog.bark();
??}
}


輸出結(jié)果:

bowl

上面的例子中,dog對象被定義為Dog類型。在編譯期,編譯器會檢查Dog類中是否有可訪問的bark()方法,只要其中包含bark()方法,那么就可以編譯通過。在運(yùn)行期,Hound對象被new出來,并賦值給dog變量,這時(shí),JVM是明確的知道dog變量指向的其實(shí)是Hound對象的引用。所以,當(dāng)dog調(diào)用bark()方法的時(shí)候,就會調(diào)用Hound類中定義的bark()方法。這就是所謂的動態(tài)多態(tài)性。

重寫的條件

參數(shù)列表必須完全與被重寫方法的相同;

返回類型必須完全與被重寫方法的返回類型相同;

訪問級別的限制性一定不能比被重寫方法的強(qiáng);

訪問級別的限制性可以比被重寫方法的弱;

重寫方法一定不能拋出新的檢查異?;虮缺恢貙懙姆椒暶鞯臋z查異常更廣泛的檢查異常

重寫的方法能夠拋出更少或更有限的異常(也就是說,被重寫的方法聲明了異常,但重寫的方法可以什么也不聲明)

不能重寫被標(biāo)示為final的方法;

如果不能繼承一個(gè)方法,則不能重寫這個(gè)方法。

重載的例子

class?Dog{
??public?void?bark(){
????System.out.println("woof?");
??}

??//overloading?method
??public?void?bark(int?num){
????for(int?i=0;?i

上面的代碼中,定義了兩個(gè)bark方法,一個(gè)是沒有參數(shù)的bark方法,另外一個(gè)是包含一個(gè)int類型參數(shù)的bark方法。在編譯期,編譯期可以根據(jù)方法簽名(方法名和參數(shù)情況)情況確定哪個(gè)方法被調(diào)用。

重載的條件

被重載的方法必須改變參數(shù)列表;

被重載的方法可以改變返回類型;

被重載的方法可以改變訪問修飾符;

被重載的方法可以聲明新的或更廣的檢查異常;

方法能夠在同一個(gè)類中或者在一個(gè)子類中被重載。

以上就是動力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)的小編針對“Java重載與包視頻,實(shí)例深入解析”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产在播放一区 | 黄色毛片国产 | 午夜剧场在线免费观看 | 综合图色| 美女视频黄8频a美女大全软 | 天堂理论片 | 天天射天天操天天 | 国产精品青青 | 日日夜夜草 | 亚洲性69影院在线观看 | 亚洲综合一区二区三区四区 | 亚洲成a人不卡在线观看 | 免费看色网站 | 日本久久精品视频 | 欧美成人se01短视频在线看 | 中文字幕在线网 | 美女很黄很黄是免费的 | 孕交videos小孕妇xx中文 | 日本在线不卡一区二区 | 国产高清a毛片在线看 | 日韩在线免费视频 | 国产二区精品视频 | 亚洲国产精品一区二区九九 | 国产苐1页影院草草影院 | 免费黄色网址网站 | 久久看免费 | 日日操影院 | 国产精品嫩草影院在线观看免费 | 欧美人人做人人爽人人喊 | 4虎影视国产在线观看精品 4k岛国精品午夜高清在线观看 | 一级做a爰片久久毛片武则天 | 特级毛片www俄罗斯免 | 乱色伦图片区 | 亚洲欧美视频一级 | 中文字幕第13亚洲另类 | 久久亚洲私人国产精品 | 亚洲欧美视频一级 | 午夜在线视频观看版 | 久久综合综合久久狠狠狠97色 | 天天玩天天干 | 日韩成人免费一级毛片 |