java是如何區(qū)分重載和重寫,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)覃塘,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
這個(gè)問題比較簡單,適合小白,主要區(qū)分方法的重載和重寫。有時(shí)候經(jīng)常搞混,下面就是為了很好的去整理區(qū)分一下。
一個(gè)類中,可以有很多的構(gòu)造方法,而且名字相同都是類名,其實(shí)這些方法就已經(jīng)構(gòu)成了重載。重寫也就是說,在一個(gè)類中,可以有很多名字相同的不同方法?,F(xiàn)在一個(gè)問題來了,就是java是如何區(qū)分這些方法的呢?
其實(shí)區(qū)分重載,有一個(gè)很簡便的方法,那就是每一個(gè)方法有一個(gè)獨(dú)一無二的參數(shù)列表。
public class Son extends Father{
int fff(){
return 0;
}
String fff(int x,String y){
return "";
}
void fff(String y,int x){};
public static void main(String[] args) {
Son son=new Son();
}
}
由以上代碼可以看到:
1、參數(shù)個(gè)數(shù)不同可以區(qū)分
2、參數(shù)的順序不同可以區(qū)分。
注意;返回值類型不同不能區(qū)分。
為什么返回值類型不同不能區(qū)分呢?這是因?yàn)橛袝r(shí)候我們定義的方法,我們只是想要簡單地去調(diào)用,而不想去獲取他的返回值。
比如:在調(diào)用fff()時(shí),只需要調(diào)用fff()或者是fff(1,"數(shù)據(jù)")而不去獲取他的返回值。這樣jvm是無法區(qū)分的。
1、在子類中可以根據(jù)需要對從基類中繼承來的方法進(jìn)行重寫。
2、重寫的方法和被重寫的方法必須具有相同方法名稱、參數(shù)列表和返回類型。(注:返回值可以為父類中返回值的子類型.參數(shù)若為子類,則不是重寫是重載)
3、重寫方法不能使用比被重寫的方法更嚴(yán)格的訪問權(quán)限。
4、重寫方法不能聲明拋出比被重寫方法范圍更大的異常類型。
總結(jié):重寫是子類對所繼承父類相同方法的一種更改,這個(gè)更改需要遵循格式按照父類的格式,訪問權(quán)限,拋出異常等等,都在父類方法控制范圍內(nèi),內(nèi)部具體實(shí)現(xiàn)可以實(shí)現(xiàn)不同的效果。
通俗一點(diǎn)來說:重寫就是對父類的的同一個(gè)方法的改寫,但是別人怎么知道你這是重寫,不是添加的新方法?這就要求格式必須跟父類相同,別人一看,呀,他倆長的一模一樣(指的上面2,3,4規(guī)則),肯定是重新寫了,就是重寫。
定義父類:
public class Father extends Grandpa {
String add(int a,int b){
int c=a+b;
return ""+c;
}
}
定義子類
public class Son extends Father{
String add(int a,int b){
int c=a+b;
return ""+c;
}
public static void main(String[] args) {
Son son=new Son();
}
}
這樣就完成了方法的重寫。
關(guān)于java是如何區(qū)分重載和重寫問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
當(dāng)前標(biāo)題:java是如何區(qū)分重載和重寫
文章URL:http://jinyejixie.com/article30/jjeepo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、服務(wù)器托管、定制開發(fā)、做網(wǎng)站、小程序開發(fā)、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)