日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java的重写和重载机制

發布時間:2025/3/19 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java的重写和重载机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?????????????????????????????????????????????? Java的重寫和重載機制

???????????????????????????????????????????????????????????????????????????????????????????????????????????????? 張磊?zhangleispirit@gmail.com

Java的重寫和重載是兩種在Java中經常提到的兩組概念,它們在各個方面都有著很大的不同,本文主要在此做一個歸納總結。

Java的多態機制

即重寫,重寫主要用于子類和父類之間,在父類中定義了一個方法,同時在子類中對這個方法進行重寫,實現子類行為的特殊化,例如:
???????class?Animal{

void?eat(){?System.out.print("animal?eat");}

???}

???

???class?Tiger?extends?Animal{

void?eat(){System.out.print("Tiget?eat");}

}

子類中的eat方法即對父類的eat方法實現了重寫,重寫最常見的例子就是下面的聲明:

?Animal?some=new?Tiger();

關于重寫,遵循以下的規則:

?(1)重寫方法必須和被重寫方法具有相同的參數列表,返回類型必須和被重寫方法的返回類型相同或者是返回類型的子類型。

?(2)重寫方法的訪問控制修飾符不能比被重寫方法更嚴格(比如一個在父類中聲明為public的方法重寫成一個protected的方法)。

?(3)只有實例方法才能被重寫,超類中的final方法不能被重寫。

?(4)重寫方法不能拋出新的檢查異常,或者是拋出比被重寫方法聲明的檢查異常更廣泛的檢查異常。

?(5)注意一種特殊情況:如果超類的方法版本中聲明了檢查異常,但重寫的子類方法中沒有聲明,這時如果使用多態的方式進行調用,那么編譯器認為你調用的是聲明了異常的方法。

?(6)盡管多態是在編譯時確定對象的類型,但在編譯時,還是根據父類的方法聲明進行程序檢查。因此,如果子類中定義的方法,在父類中沒有定義,則會出項編譯錯誤。

??Java的重載機制:
????重載的實質:在一個類中使用簽名相同的多個方法。

按照范圍,可以將重載分為在一個類中重載,和在子類和父類中重載。現分別解釋如下:

????1.在一個類中定義多個具有相同簽名的方法,這些方法必須具有不同的參數列表,比如一個類的構造函數。

????2.在父類和子類中,子類由于繼承而擁有了父類的某些方法,此時在子類再定義具有相同簽名的方法(必須具有不同的參數列表),這個地方很容易和重寫相混淆,因此千萬注意。

重載的規則主要記住亮點:
????一是方法的參數列表必須改變,包括參數的類型,參數的個數多少,參數順序。

二是重載對返回類型,訪問修飾符,異常聲明沒有任何限制,可以作任意的修改。實質上,重載只是創建了一個方法而已,特殊的地方在于方法的名字。

注意下面的一種情況:(重寫和重載的混合)

class?UseAnimal{

?????void?doStuff(Animal?sa){}

?????void?doStuff(Tiger?sa){}

?????public?static?void?main(String[]?args){

UseAnimal?ua=new?UseAnimal();

Animal?an=new?Tiger();

ua.duStuff(an);

}

}

此時,調用的方法doStuff的Animal版本,因為調用重載方法是在編譯時決定的,an的聲明類型是Animal。所以調用Animal版本。

始終注意一點:重載的判斷始終是在編譯時決定。


轉載于:https://www.cnblogs.com/zhangleispirit/archive/2008/10/13/1310320.html

總結

以上是生活随笔為你收集整理的Java的重写和重载机制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。