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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java的重写、重载、覆盖的差别

發布時間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java的重写、重载、覆盖的差别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
多態性?
通過繼承,一個類能夠用作多種類型:能夠用作它自己的類型、不論什么基類型,或者在實現接口時用作不論什么接口類型。這稱為多態性?

重載?
每一個類型成員都有一個唯一的簽名。方法簽名由方法名稱和一個參數列表(方法的參數的順序和類型)組成。

僅僅要簽名不同。就能夠在一種類型內定義具有同樣名稱的多種方法。

當定義兩種或多種具有同樣名稱的方法時,就稱作重載。

即重載時同樣名稱成員的參數列表是不同樣的(參數順序和類型)。?



繼承,重寫和隱藏成員 (重寫 = 覆蓋)
派生的類型繼承其基本類型的全部成員;也就是說。這些成員是在派生類型之上定義的,并可用于派生類型。繼承成員的行為和質量能夠通過下面兩種方式來改動:?

1、派生類型可通過使用同樣的簽名定義一個新成員。從而隱藏繼承的成員。將先前的公共成員變成私有成員。或者為標記為 final 的繼承方法定義新行為時,能夠採取這樣的方法。?

2、派生類型能夠重寫繼承的虛方法。

重寫方法提供了對方法的一種新定義。將依據執行時的值的類型。而不是編譯時已知的變量類型來調用方法。僅僅有當虛方法沒有標記為 final 且新方法至少能夠像虛方法一樣進行訪問的情況下,成員才干重寫虛方法。?


方法名,參數同樣形成重寫,重寫的方法不能減少原方法的"可見度",也不能改變原方法的返回值類型。?

方法名同樣,參數不同(個數、類型)形成重載,重載的方法可看成一個全新的方法。與原方法相比它能夠有不同的"可見度"和“返回值類型”。例如以下例:?

class A {?
protected int method1(int a, int b) { return 0; }?
}?
public class B extends A{?
public int method1(int a, int b) { return 0; } //正確,重寫父類方法,能夠擴大訪問權限?
//private int method1(int a, int b) { return 0; } //錯誤,重寫父類方法,不能減少了訪問權限?
//private long method1(int a, int b) { return 0; } //錯誤。重寫父類方法。不能改變返回值類型?
public short method1(int a, long b) { return 0; }//正確,重載自身的方法。能夠有不同的訪問權限和返回值類型?
private int method1(int a, long b) { return 0; }//正確,重載自身的方法,能夠有不同的訪問權限和返回值類型?
}?

但這里 方法public short method1(int a, long b) { return 0; }和 方法private int method1(int a, long b) { return 0; }不能同一時候存在,由于在同一類中。不同意存在同樣名字和參數類型的方法(重寫的方法)。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java的重写、重载、覆盖的差别的全部內容,希望文章能夠幫你解決所遇到的問題。

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