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

首頁 > 學院 > 開發設計 > 正文

重載重寫

2019-11-14 10:57:45
字體:
來源:轉載
供稿:網友

OverLoad 與 Override

方法的重載:同類中,方法名相同但參數列表不同。【參數列表:包括參數的類型及參數的個數】 方法的重寫:發生在具有繼承關系的子類中,子類覆蓋父類的方法,是多態性的一種表現。【參數列表:必須與父類的方法一致】

1.修飾符:

方法重載時,發生在同一個類中,故方法的重載與修飾符無關。方法重寫時,發生在子類中,子類中重寫的方法的修飾符只能比父類更大不能更小。否則編譯不通過。

注意:如果父類的方法修飾符為 PRivate ,那么就相當于子類新建了一個與父類同名的方法,但該方法并不是重寫的,而是子類新建的方法。

2.返回值

方法重載時,發生在同一個類中,故方法的重載與返回值無關。方法重寫時,發生在子類中,子類重寫的方法的返回值一定要與父類一致。否則編譯不通過。

3.參數列表

方法重載時,方法的參數列表一定不同。包括參數的個數,參數的類型。方法重寫時,參數列表一定相同。

4.異常情況

方法重載時,與異常無關。方法重寫時,子類方法異常只能拋出比父類異常更小的異常或父類異常的子異常。否則編譯不通過。

小結

方法發生重載時只與方法名及參數列表相關。 方法重寫時,方法的返回值及方法名必須一致,方法的修飾符只能更大不能更小,異常只能比父類更小不能更大。

這里寫圖片描述

代碼例子:

public class Test5 {public void test1(int a,String b){ System.out.println("test1");}public void test1(String b,int a){ System.out.println("test1 overload");}protected void test1() throws RuntimeException{ System.out.println("test1 overload 1");}//重載與返回值無關// public int test1(){// System.out.println("test1");// return 0;// }}class TestSub extends Test5{ //重寫時,子類中只能拋出比父類更小的異常或父類異常的子異常 //重寫時,子類方法的修飾符只能比父類大或與父類相同 public void test1() throws ArrayIndexOutOfBoundsException{ System.out.println("sub test1"); }}
上一篇:java中的變量

下一篇:25.Yii 模塊

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清远市| 井陉县| 湛江市| 广灵县| 汉寿县| 永定县| 田东县| 嘉祥县| 西宁市| 金湖县| 慈利县| 荣成市| 湘潭市| 贵港市| 崇信县| 江华| 巴彦淖尔市| 罗城| 张家界市| 昆明市| 荆门市| 南澳县| 通河县| 永胜县| 五河县| 米林县| 榆树市| 山阴县| 清丰县| 博湖县| 扶余县| 阳高县| 井陉县| 达拉特旗| 南宫市| 游戏| 安乡县| 晋州市| 建瓯市| 巴青县| 新巴尔虎右旗|