91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

重寫、覆蓋、重載、多態區別是什么

發布時間:2022-02-18 16:29:08 來源:億速云 閱讀:257 作者:zzz 欄目:開發技術

今天小編給大家分享一下重寫、覆蓋、重載、多態區別是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

override->重寫(=覆蓋)、overload->重載、polymorphism -> 多態

override->重寫(=覆蓋)

override是重寫(覆蓋)了一個方法,以實現不同的功能。一般是用于子類在繼承父類時,重寫(重新實現)父類中的方法。 

重寫(覆蓋)的規則: 

1、重寫方法的參數列表必須完全與被重寫的方法的相同,否則不能稱其為重寫而是重載. 

2、重寫方法的訪問修飾符一定要大于被重寫方法的訪問修飾符(public>protected>default>private)。 

3、重寫的方法的返回值必須和被重寫的方法的返回一致;

4、重寫的方法所拋出的異常必須和被重寫方法的所拋出的異常一致,或者是其子類;

5、被重寫的方法不能為private,否則在其子類中只是新定義了一個方法,并沒有對其進行重寫。

6、靜態方法不能被重寫為非靜態的方法(會編譯出錯)。

重寫、覆蓋、重載、多態區別是什么
overload->重載

overload是重載,一般是用于在一個類內實現若干重載的方法,這些方法的名稱相同而參數形式不同。 

重載的規則: 

1、在使用重載時只能通過相同的方法名、不同的參數形式實現。不同的參數類型可以是不同的參數類型,不同的參數個數,不同的參數順序(參數類型必須不一樣); 

2、不能通過訪問權限、返回類型、拋出的異常進行重載; 

3、方法的異常類型和數目不會對重載造成影響;

polymorphism -> 多態

多態的概念比較復雜,有多種意義的多態,一個有趣但不嚴謹的說法是:繼承是子類使用父類的方法,而多態則是父類使用子類的方法。 一般,我們使用多態是為了避免在父類里大量重載引起代碼臃腫且難于維護。

舉個例子:
public class Shape
{
public static void main(String[] args){
Triangle tri = new Triangle();
System.out.println("Triangle is a type of shape? " + tri.isShape());// 繼承
    Shape shape = new Triangle();
System.out.println("My shape has " + shape.getSides() + " sides."); // 多態
    Rectangle Rec = new Rectangle();
Shape shape2 = Rec;
System.out.println("My shape has " + shape2.getSides(Rec) + " sides."); //重載
}
public boolean isShape(){return true;
}
public int getSides(){return 0 ;
}
public int getSides(Triangle tri){ //重載return 3 ;
}
public int getSides(Rectangle rec){ //重載return 4 ;
}
}
class Triangle extends Shape
{
public int getSides() { //重寫,實現多態return 3;
}
}
class Rectangle extends Shape
{
public int getSides(int i) { //重載return i;
}
}

以上就是“重寫、覆蓋、重載、多態區別是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

烟台市| 高要市| 临夏市| 汝城县| 陕西省| 太谷县| 平塘县| 凤山县| 塘沽区| 梁山县| 闵行区| 措勤县| 建德市| 太仆寺旗| 新和县| 腾冲县| 丰顺县| 合川市| 三亚市| 政和县| 麟游县| 旅游| 韶山市| 赤水市| 白朗县| 惠州市| 治县。| 常宁市| 福泉市| 长葛市| 乾安县| 龙游县| 嘉荫县| 通化县| 印江| 浦北县| 福鼎市| 永宁县| 云安县| 辉南县| 信阳市|